@burdenoff/website-sdk 2026.813.3 → 2026.817.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.
@@ -1,6 +1,3 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { ReactNode } from 'react';
3
-
4
1
  /**
5
2
  * Lightweight GraphQL client for the Burdenoff Web SDK.
6
3
  * Uses native fetch - zero external dependencies.
@@ -75,36 +72,4 @@ declare class WebSDKClient {
75
72
  private request;
76
73
  }
77
74
 
78
- interface WebSDKProviderProps {
79
- /** SDK client configuration */
80
- config: WebSDKClientConfig;
81
- /** Child components */
82
- children: ReactNode;
83
- }
84
- /**
85
- * Provider component that makes the WebSDKClient available to all child components.
86
- *
87
- * @example
88
- * ```tsx
89
- * <WebSDKProvider config={{
90
- * gatewayUrl: "https://api.burdenoff.com/global/graphql",
91
- * productId: "your-product-id",
92
- * productSlug: "your-product",
93
- * }}>
94
- * <App />
95
- * </WebSDKProvider>
96
- * ```
97
- */
98
- declare function WebSDKProvider({ config, children }: WebSDKProviderProps): react_jsx_runtime.JSX.Element;
99
- /**
100
- * Hook to access the WebSDKClient instance.
101
- * Must be used within a WebSDKProvider.
102
- */
103
- declare function useWebSDK(): WebSDKClient;
104
- /**
105
- * Hook to access the SDK configuration.
106
- * Useful for components that need config values like productId, recaptchaSiteKey, etc.
107
- */
108
- declare function useWebSDKConfig(): WebSDKClientConfig;
109
-
110
- export { WebSDKClient as W, type WebSDKClientConfig as a, WebSDKProvider as b, type WebSDKProviderProps as c, useWebSDKConfig as d, useWebSDK as u };
75
+ export { WebSDKClient as W, type WebSDKClientConfig as a };
@@ -1,6 +1,3 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { ReactNode } from 'react';
3
-
4
1
  /**
5
2
  * Lightweight GraphQL client for the Burdenoff Web SDK.
6
3
  * Uses native fetch - zero external dependencies.
@@ -75,36 +72,4 @@ declare class WebSDKClient {
75
72
  private request;
76
73
  }
77
74
 
78
- interface WebSDKProviderProps {
79
- /** SDK client configuration */
80
- config: WebSDKClientConfig;
81
- /** Child components */
82
- children: ReactNode;
83
- }
84
- /**
85
- * Provider component that makes the WebSDKClient available to all child components.
86
- *
87
- * @example
88
- * ```tsx
89
- * <WebSDKProvider config={{
90
- * gatewayUrl: "https://api.burdenoff.com/global/graphql",
91
- * productId: "your-product-id",
92
- * productSlug: "your-product",
93
- * }}>
94
- * <App />
95
- * </WebSDKProvider>
96
- * ```
97
- */
98
- declare function WebSDKProvider({ config, children }: WebSDKProviderProps): react_jsx_runtime.JSX.Element;
99
- /**
100
- * Hook to access the WebSDKClient instance.
101
- * Must be used within a WebSDKProvider.
102
- */
103
- declare function useWebSDK(): WebSDKClient;
104
- /**
105
- * Hook to access the SDK configuration.
106
- * Useful for components that need config values like productId, recaptchaSiteKey, etc.
107
- */
108
- declare function useWebSDKConfig(): WebSDKClientConfig;
109
-
110
- export { WebSDKClient as W, type WebSDKClientConfig as a, WebSDKProvider as b, type WebSDKProviderProps as c, useWebSDKConfig as d, useWebSDK as u };
75
+ export { WebSDKClient as W, type WebSDKClientConfig as a };
package/dist/index.d.mts CHANGED
@@ -1,4 +1,5 @@
1
- export { W as WebSDKClient, a as WebSDKClientConfig, b as WebSDKProvider, c as WebSDKProviderProps, u as useWebSDK, d as useWebSDKConfig } from './provider-DBAnqeTv.mjs';
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-BhsbxVPo.mjs';
2
3
  export { ContactCategory, ContactPage, ContactPageProps, DEFAULT_CONTACT_CATEGORIES } from './components/contact.mjs';
3
4
  export { PartnersPage, PartnersPageProps } from './components/partners.mjs';
4
5
  import * as react_jsx_runtime from 'react/jsx-runtime';
@@ -15,7 +16,7 @@ export { ProblemSolved, ProblemsSolvedSection, ProblemsSolvedSectionProps } from
15
16
  export { DetectedPlatform, ElectronDownloadLink, ElectronDownloadLinkProps, detectElectronPlatform } from './components/electron-download.mjs';
16
17
  export { RybbitAnalytics, RybbitAnalyticsProps } from './analytics/index.mjs';
17
18
  export { PageHead, PageHeadProps } from './seo/index.mjs';
18
- export { BlogListPage, BlogListPageProps, BlogPostPage, BlogPostPageProps, CaseStudiesListPage, CaseStudiesListPageProps, CaseStudyPage, CaseStudyPageProps, ChangelogEntry, ChangelogPage, ChangelogPageProps, ContentPageData, ContentPageListData, ContentPageListItem, ContentRenderer, ContractAsset, ContractsPage, ContractsPageProps, Markdown, MarkdownProps, PressKitAsset, PressKitAssetCategory, PressKitPage, PressKitPageProps, useContentPage, useContentPages } from './content/index.mjs';
19
+ export { BlogListPage, BlogListPageProps, BlogPostPage, BlogPostPageProps, CaseStudiesListPage, CaseStudiesListPageProps, CaseStudyPage, CaseStudyPageProps, ChangelogEntry, ChangelogPage, ChangelogPageProps, ContentPageData, ContentPageListData, ContentPageListItem, ContentRenderer, ContractAsset, ContractsPage, ContractsPageProps, Markdown, MarkdownProps, PressKitAsset, PressKitAssetCategory, PressKitPage, PressKitPageProps, PublicInterviewRoundConfig, PublicJobPosting, UsePublicJobPostingOptions, UsePublicJobPostingsOptions, fetchPublicJobPosting, fetchPublicJobPostings, useContentPage, useContentPages, usePublicJobPosting, usePublicJobPostings } from './content/index.mjs';
19
20
  export { ProductData, ProductProvider, ProductProviderProps, useProduct, useProductConfig } from './product/index.mjs';
20
21
  import * as class_variance_authority_types from 'class-variance-authority/types';
21
22
  import * as React from 'react';
@@ -26,6 +27,13 @@ export { cn } from './utils/index.mjs';
26
27
  import 'react-markdown';
27
28
  import 'clsx';
28
29
 
30
+ /** A job posting option for the CareersApplyForm dropdown. */
31
+ interface CareersPostingOption {
32
+ /** Posting ID — sent as `jobPostingId` in the application input. */
33
+ id: string;
34
+ /** Display title — also sent as the `position` string. */
35
+ title: string;
36
+ }
29
37
  interface CareersApplyFormProps {
30
38
  /** Product name (falls back to product context / SDK config). */
31
39
  productName?: string;
@@ -36,6 +44,13 @@ interface CareersApplyFormProps {
36
44
  * input is shown instead so the form works before a postings list exists.
37
45
  */
38
46
  positions?: readonly string[];
47
+ /**
48
+ * Job postings for the dropdown (e.g. from `usePublicJobPostings`). When
49
+ * non-empty this takes precedence over `positions`: the selected posting's
50
+ * title is sent as `position` and its ID as `jobPostingId` so the
51
+ * application is linked to the posting.
52
+ */
53
+ postings?: readonly CareersPostingOption[];
39
54
  heroTitle?: string;
40
55
  heroDescription?: string;
41
56
  /**
@@ -52,7 +67,37 @@ interface CareersApplyFormProps {
52
67
  keywords?: string;
53
68
  };
54
69
  }
55
- declare function CareersApplyForm({ productName, recaptchaSiteKey, positions, heroTitle, heroDescription, headingLevel, maxResumeBytes, className, seo, }: CareersApplyFormProps): react_jsx_runtime.JSX.Element;
70
+ declare function CareersApplyForm({ productName, recaptchaSiteKey, positions, postings, heroTitle, heroDescription, headingLevel, maxResumeBytes, className, seo, }: CareersApplyFormProps): react_jsx_runtime.JSX.Element;
71
+
72
+ interface CareersSubmissionFormProps {
73
+ /** Product name (falls back to product context / SDK config). */
74
+ productName?: string;
75
+ /** reCAPTCHA site key (falls back to SDK config). */
76
+ recaptchaSiteKey?: string;
77
+ /**
78
+ * Job postings for the dropdown (e.g. from `usePublicJobPostings`). When
79
+ * non-empty the selected posting's ID is sent as `jobPostingId` and its
80
+ * title as `position`. When empty, a free-text "position" input is shown
81
+ * instead so the form works before a postings list exists.
82
+ */
83
+ postings?: readonly CareersPostingOption[];
84
+ heroTitle?: string;
85
+ heroDescription?: string;
86
+ /**
87
+ * `1` (default) renders a full page hero `<h1>`; `2` renders a compact
88
+ * `<h2>` section header for embedding under a page that owns the `<h1>`.
89
+ */
90
+ headingLevel?: 1 | 2;
91
+ className?: string;
92
+ seo?: {
93
+ title?: string;
94
+ description?: string;
95
+ keywords?: string;
96
+ };
97
+ }
98
+ /** True when `value` parses as an absolute http(s) URL. */
99
+ declare function isValidUrl(value: string): boolean;
100
+ declare function CareersSubmissionForm({ productName, recaptchaSiteKey, postings, heroTitle, heroDescription, headingLevel, className, seo, }: CareersSubmissionFormProps): react_jsx_runtime.JSX.Element;
56
101
 
57
102
  declare const buttonVariants: (props?: ({
58
103
  variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
@@ -80,4 +125,4 @@ declare const Textarea: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLP
80
125
  */
81
126
  declare const ECOSYSTEM_PRODUCTS: WebsiteSwitcherProduct[];
82
127
 
83
- export { Button, type ButtonProps, CareersApplyForm, type CareersApplyFormProps, ECOSYSTEM_PRODUCTS, Input, Label, Select, Textarea, WebsiteSwitcherProduct, buttonVariants };
128
+ export { Button, type ButtonProps, CareersApplyForm, type CareersApplyFormProps, type CareersPostingOption, CareersSubmissionForm, type CareersSubmissionFormProps, ECOSYSTEM_PRODUCTS, Input, Label, Select, Textarea, WebsiteSwitcherProduct, buttonVariants, isValidUrl };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- export { W as WebSDKClient, a as WebSDKClientConfig, b as WebSDKProvider, c as WebSDKProviderProps, u as useWebSDK, d as useWebSDKConfig } from './provider-DBAnqeTv.js';
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-D-Do5PmD.js';
2
3
  export { ContactCategory, ContactPage, ContactPageProps, DEFAULT_CONTACT_CATEGORIES } from './components/contact.js';
3
4
  export { PartnersPage, PartnersPageProps } from './components/partners.js';
4
5
  import * as react_jsx_runtime from 'react/jsx-runtime';
@@ -15,7 +16,7 @@ export { ProblemSolved, ProblemsSolvedSection, ProblemsSolvedSectionProps } from
15
16
  export { DetectedPlatform, ElectronDownloadLink, ElectronDownloadLinkProps, detectElectronPlatform } from './components/electron-download.js';
16
17
  export { RybbitAnalytics, RybbitAnalyticsProps } from './analytics/index.js';
17
18
  export { PageHead, PageHeadProps } from './seo/index.js';
18
- export { BlogListPage, BlogListPageProps, BlogPostPage, BlogPostPageProps, CaseStudiesListPage, CaseStudiesListPageProps, CaseStudyPage, CaseStudyPageProps, ChangelogEntry, ChangelogPage, ChangelogPageProps, ContentPageData, ContentPageListData, ContentPageListItem, ContentRenderer, ContractAsset, ContractsPage, ContractsPageProps, Markdown, MarkdownProps, PressKitAsset, PressKitAssetCategory, PressKitPage, PressKitPageProps, useContentPage, useContentPages } from './content/index.js';
19
+ export { BlogListPage, BlogListPageProps, BlogPostPage, BlogPostPageProps, CaseStudiesListPage, CaseStudiesListPageProps, CaseStudyPage, CaseStudyPageProps, ChangelogEntry, ChangelogPage, ChangelogPageProps, ContentPageData, ContentPageListData, ContentPageListItem, ContentRenderer, ContractAsset, ContractsPage, ContractsPageProps, Markdown, MarkdownProps, PressKitAsset, PressKitAssetCategory, PressKitPage, PressKitPageProps, PublicInterviewRoundConfig, PublicJobPosting, UsePublicJobPostingOptions, UsePublicJobPostingsOptions, fetchPublicJobPosting, fetchPublicJobPostings, useContentPage, useContentPages, usePublicJobPosting, usePublicJobPostings } from './content/index.js';
19
20
  export { ProductData, ProductProvider, ProductProviderProps, useProduct, useProductConfig } from './product/index.js';
20
21
  import * as class_variance_authority_types from 'class-variance-authority/types';
21
22
  import * as React from 'react';
@@ -26,6 +27,13 @@ export { cn } from './utils/index.js';
26
27
  import 'react-markdown';
27
28
  import 'clsx';
28
29
 
30
+ /** A job posting option for the CareersApplyForm dropdown. */
31
+ interface CareersPostingOption {
32
+ /** Posting ID — sent as `jobPostingId` in the application input. */
33
+ id: string;
34
+ /** Display title — also sent as the `position` string. */
35
+ title: string;
36
+ }
29
37
  interface CareersApplyFormProps {
30
38
  /** Product name (falls back to product context / SDK config). */
31
39
  productName?: string;
@@ -36,6 +44,13 @@ interface CareersApplyFormProps {
36
44
  * input is shown instead so the form works before a postings list exists.
37
45
  */
38
46
  positions?: readonly string[];
47
+ /**
48
+ * Job postings for the dropdown (e.g. from `usePublicJobPostings`). When
49
+ * non-empty this takes precedence over `positions`: the selected posting's
50
+ * title is sent as `position` and its ID as `jobPostingId` so the
51
+ * application is linked to the posting.
52
+ */
53
+ postings?: readonly CareersPostingOption[];
39
54
  heroTitle?: string;
40
55
  heroDescription?: string;
41
56
  /**
@@ -52,7 +67,37 @@ interface CareersApplyFormProps {
52
67
  keywords?: string;
53
68
  };
54
69
  }
55
- declare function CareersApplyForm({ productName, recaptchaSiteKey, positions, heroTitle, heroDescription, headingLevel, maxResumeBytes, className, seo, }: CareersApplyFormProps): react_jsx_runtime.JSX.Element;
70
+ declare function CareersApplyForm({ productName, recaptchaSiteKey, positions, postings, heroTitle, heroDescription, headingLevel, maxResumeBytes, className, seo, }: CareersApplyFormProps): react_jsx_runtime.JSX.Element;
71
+
72
+ interface CareersSubmissionFormProps {
73
+ /** Product name (falls back to product context / SDK config). */
74
+ productName?: string;
75
+ /** reCAPTCHA site key (falls back to SDK config). */
76
+ recaptchaSiteKey?: string;
77
+ /**
78
+ * Job postings for the dropdown (e.g. from `usePublicJobPostings`). When
79
+ * non-empty the selected posting's ID is sent as `jobPostingId` and its
80
+ * title as `position`. When empty, a free-text "position" input is shown
81
+ * instead so the form works before a postings list exists.
82
+ */
83
+ postings?: readonly CareersPostingOption[];
84
+ heroTitle?: string;
85
+ heroDescription?: string;
86
+ /**
87
+ * `1` (default) renders a full page hero `<h1>`; `2` renders a compact
88
+ * `<h2>` section header for embedding under a page that owns the `<h1>`.
89
+ */
90
+ headingLevel?: 1 | 2;
91
+ className?: string;
92
+ seo?: {
93
+ title?: string;
94
+ description?: string;
95
+ keywords?: string;
96
+ };
97
+ }
98
+ /** True when `value` parses as an absolute http(s) URL. */
99
+ declare function isValidUrl(value: string): boolean;
100
+ declare function CareersSubmissionForm({ productName, recaptchaSiteKey, postings, heroTitle, heroDescription, headingLevel, className, seo, }: CareersSubmissionFormProps): react_jsx_runtime.JSX.Element;
56
101
 
57
102
  declare const buttonVariants: (props?: ({
58
103
  variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
@@ -80,4 +125,4 @@ declare const Textarea: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLP
80
125
  */
81
126
  declare const ECOSYSTEM_PRODUCTS: WebsiteSwitcherProduct[];
82
127
 
83
- export { Button, type ButtonProps, CareersApplyForm, type CareersApplyFormProps, ECOSYSTEM_PRODUCTS, Input, Label, Select, Textarea, WebsiteSwitcherProduct, buttonVariants };
128
+ export { Button, type ButtonProps, CareersApplyForm, type CareersApplyFormProps, type CareersPostingOption, CareersSubmissionForm, type CareersSubmissionFormProps, ECOSYSTEM_PRODUCTS, Input, Label, Select, Textarea, WebsiteSwitcherProduct, buttonVariants, isValidUrl };