@burdenoff/website-sdk 2026.813.3 → 2026.817.1
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.
- package/dist/client/index.d.mts +2 -1
- package/dist/client/index.d.ts +2 -1
- package/dist/content/index.d.mts +74 -1
- package/dist/content/index.d.ts +74 -1
- package/dist/content/index.js +136 -0
- package/dist/content/index.js.map +1 -1
- package/dist/content/index.mjs +133 -1
- package/dist/content/index.mjs.map +1 -1
- package/dist/{provider-DBAnqeTv.d.mts → graphql-client-Cv6TO6hn.d.mts} +1 -36
- package/dist/{provider-DBAnqeTv.d.ts → graphql-client-Cv6TO6hn.d.ts} +1 -36
- package/dist/index.d.mts +19 -4
- package/dist/index.d.ts +19 -4
- package/dist/index.js +156 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +153 -3
- package/dist/index.mjs.map +1 -1
- package/dist/provider-BhsbxVPo.d.mts +37 -0
- package/dist/provider-D-Do5PmD.d.ts +37 -0
- package/package.json +1 -1
package/dist/client/index.d.mts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export { W as WebSDKClient, a as WebSDKClientConfig
|
|
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
|
import 'react/jsx-runtime';
|
|
3
4
|
import 'react';
|
|
4
5
|
|
package/dist/client/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export { W as WebSDKClient, a as WebSDKClientConfig
|
|
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
|
import 'react/jsx-runtime';
|
|
3
4
|
import 'react';
|
|
4
5
|
|
package/dist/content/index.d.mts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
3
|
import { Components } from 'react-markdown';
|
|
4
|
+
import { W as WebSDKClient } from '../graphql-client-Cv6TO6hn.mjs';
|
|
4
5
|
|
|
5
6
|
interface ContentPageData {
|
|
6
7
|
id: string;
|
|
@@ -116,6 +117,78 @@ interface MarkdownProps {
|
|
|
116
117
|
*/
|
|
117
118
|
declare function Markdown({ children, className, inline, components, }: MarkdownProps): ReactNode;
|
|
118
119
|
|
|
120
|
+
interface PublicInterviewRoundConfig {
|
|
121
|
+
roundNumber: number;
|
|
122
|
+
name: string;
|
|
123
|
+
/** Round type enum from the backend (PHONE_SCREEN, TECHNICAL, …) as a string. */
|
|
124
|
+
roundType: string;
|
|
125
|
+
isRequired: boolean;
|
|
126
|
+
description?: string | null;
|
|
127
|
+
}
|
|
128
|
+
interface PublicJobPosting {
|
|
129
|
+
id: string;
|
|
130
|
+
slug: string;
|
|
131
|
+
title: string;
|
|
132
|
+
department?: string | null;
|
|
133
|
+
location?: string | null;
|
|
134
|
+
employmentType?: string | null;
|
|
135
|
+
openings?: number | null;
|
|
136
|
+
description?: string | null;
|
|
137
|
+
overview?: string | null;
|
|
138
|
+
responsibilities: string[];
|
|
139
|
+
learnings: string[];
|
|
140
|
+
qualifications: string[];
|
|
141
|
+
rounds: PublicInterviewRoundConfig[];
|
|
142
|
+
}
|
|
143
|
+
interface UsePublicJobPostingsOptions {
|
|
144
|
+
/** Product ID override (falls back to product context / SDK config). */
|
|
145
|
+
productId?: string;
|
|
146
|
+
limit?: number;
|
|
147
|
+
offset?: number;
|
|
148
|
+
}
|
|
149
|
+
interface UsePublicJobPostingOptions {
|
|
150
|
+
/** Product ID override (falls back to product context / SDK config). */
|
|
151
|
+
productId?: string;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Fetch the list of public job postings for a product.
|
|
155
|
+
* Throws on GraphQL/transport errors so callers can settle an error state.
|
|
156
|
+
*/
|
|
157
|
+
declare function fetchPublicJobPostings(client: WebSDKClient, options?: UsePublicJobPostingsOptions): Promise<PublicJobPosting[]>;
|
|
158
|
+
/**
|
|
159
|
+
* Fetch a single public job posting by slug. Returns `null` when the posting
|
|
160
|
+
* does not exist; throws on GraphQL/transport errors.
|
|
161
|
+
*/
|
|
162
|
+
declare function fetchPublicJobPosting(client: WebSDKClient, slug: string, options?: UsePublicJobPostingOptions): Promise<PublicJobPosting | null>;
|
|
163
|
+
/**
|
|
164
|
+
* Hook to fetch the public job postings for the current product.
|
|
165
|
+
*
|
|
166
|
+
* @example
|
|
167
|
+
* ```tsx
|
|
168
|
+
* const { postings, loading, error } = usePublicJobPostings({ limit: 20 });
|
|
169
|
+
* ```
|
|
170
|
+
*/
|
|
171
|
+
declare function usePublicJobPostings(options?: UsePublicJobPostingsOptions): {
|
|
172
|
+
postings: PublicJobPosting[];
|
|
173
|
+
loading: boolean;
|
|
174
|
+
error: string | null;
|
|
175
|
+
refetch: () => void;
|
|
176
|
+
};
|
|
177
|
+
/**
|
|
178
|
+
* Hook to fetch a single public job posting by slug.
|
|
179
|
+
*
|
|
180
|
+
* @example
|
|
181
|
+
* ```tsx
|
|
182
|
+
* const { posting, loading, error } = usePublicJobPosting('senior-engineer');
|
|
183
|
+
* ```
|
|
184
|
+
*/
|
|
185
|
+
declare function usePublicJobPosting(slug: string, options?: UsePublicJobPostingOptions): {
|
|
186
|
+
posting: PublicJobPosting | null;
|
|
187
|
+
loading: boolean;
|
|
188
|
+
error: string | null;
|
|
189
|
+
refetch: () => void;
|
|
190
|
+
};
|
|
191
|
+
|
|
119
192
|
interface BlogListPageProps {
|
|
120
193
|
productName?: string;
|
|
121
194
|
heroTitle?: string;
|
|
@@ -284,4 +357,4 @@ interface ContractsPageProps {
|
|
|
284
357
|
}
|
|
285
358
|
declare function ContractsPage(props: ContractsPageProps): react_jsx_runtime.JSX.Element;
|
|
286
359
|
|
|
287
|
-
export { BlogListPage, type BlogListPageProps, BlogPostPage, type BlogPostPageProps, CaseStudiesListPage, type CaseStudiesListPageProps, CaseStudyPage, type CaseStudyPageProps, type ChangelogEntry, ChangelogPage, type ChangelogPageProps, type ContentPageData, type ContentPageListData, type ContentPageListItem, ContentRenderer, type ContractAsset, ContractsPage, type ContractsPageProps, Markdown, type MarkdownProps, type PressKitAsset, type PressKitAssetCategory, PressKitPage, type PressKitPageProps, type UseContentPageOptions, useContentPage, useContentPages };
|
|
360
|
+
export { BlogListPage, type BlogListPageProps, BlogPostPage, type BlogPostPageProps, CaseStudiesListPage, type CaseStudiesListPageProps, CaseStudyPage, type CaseStudyPageProps, type ChangelogEntry, ChangelogPage, type ChangelogPageProps, type ContentPageData, type ContentPageListData, type ContentPageListItem, ContentRenderer, type ContractAsset, ContractsPage, type ContractsPageProps, Markdown, type MarkdownProps, type PressKitAsset, type PressKitAssetCategory, PressKitPage, type PressKitPageProps, type PublicInterviewRoundConfig, type PublicJobPosting, type UseContentPageOptions, type UsePublicJobPostingOptions, type UsePublicJobPostingsOptions, fetchPublicJobPosting, fetchPublicJobPostings, useContentPage, useContentPages, usePublicJobPosting, usePublicJobPostings };
|
package/dist/content/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
3
|
import { Components } from 'react-markdown';
|
|
4
|
+
import { W as WebSDKClient } from '../graphql-client-Cv6TO6hn.js';
|
|
4
5
|
|
|
5
6
|
interface ContentPageData {
|
|
6
7
|
id: string;
|
|
@@ -116,6 +117,78 @@ interface MarkdownProps {
|
|
|
116
117
|
*/
|
|
117
118
|
declare function Markdown({ children, className, inline, components, }: MarkdownProps): ReactNode;
|
|
118
119
|
|
|
120
|
+
interface PublicInterviewRoundConfig {
|
|
121
|
+
roundNumber: number;
|
|
122
|
+
name: string;
|
|
123
|
+
/** Round type enum from the backend (PHONE_SCREEN, TECHNICAL, …) as a string. */
|
|
124
|
+
roundType: string;
|
|
125
|
+
isRequired: boolean;
|
|
126
|
+
description?: string | null;
|
|
127
|
+
}
|
|
128
|
+
interface PublicJobPosting {
|
|
129
|
+
id: string;
|
|
130
|
+
slug: string;
|
|
131
|
+
title: string;
|
|
132
|
+
department?: string | null;
|
|
133
|
+
location?: string | null;
|
|
134
|
+
employmentType?: string | null;
|
|
135
|
+
openings?: number | null;
|
|
136
|
+
description?: string | null;
|
|
137
|
+
overview?: string | null;
|
|
138
|
+
responsibilities: string[];
|
|
139
|
+
learnings: string[];
|
|
140
|
+
qualifications: string[];
|
|
141
|
+
rounds: PublicInterviewRoundConfig[];
|
|
142
|
+
}
|
|
143
|
+
interface UsePublicJobPostingsOptions {
|
|
144
|
+
/** Product ID override (falls back to product context / SDK config). */
|
|
145
|
+
productId?: string;
|
|
146
|
+
limit?: number;
|
|
147
|
+
offset?: number;
|
|
148
|
+
}
|
|
149
|
+
interface UsePublicJobPostingOptions {
|
|
150
|
+
/** Product ID override (falls back to product context / SDK config). */
|
|
151
|
+
productId?: string;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Fetch the list of public job postings for a product.
|
|
155
|
+
* Throws on GraphQL/transport errors so callers can settle an error state.
|
|
156
|
+
*/
|
|
157
|
+
declare function fetchPublicJobPostings(client: WebSDKClient, options?: UsePublicJobPostingsOptions): Promise<PublicJobPosting[]>;
|
|
158
|
+
/**
|
|
159
|
+
* Fetch a single public job posting by slug. Returns `null` when the posting
|
|
160
|
+
* does not exist; throws on GraphQL/transport errors.
|
|
161
|
+
*/
|
|
162
|
+
declare function fetchPublicJobPosting(client: WebSDKClient, slug: string, options?: UsePublicJobPostingOptions): Promise<PublicJobPosting | null>;
|
|
163
|
+
/**
|
|
164
|
+
* Hook to fetch the public job postings for the current product.
|
|
165
|
+
*
|
|
166
|
+
* @example
|
|
167
|
+
* ```tsx
|
|
168
|
+
* const { postings, loading, error } = usePublicJobPostings({ limit: 20 });
|
|
169
|
+
* ```
|
|
170
|
+
*/
|
|
171
|
+
declare function usePublicJobPostings(options?: UsePublicJobPostingsOptions): {
|
|
172
|
+
postings: PublicJobPosting[];
|
|
173
|
+
loading: boolean;
|
|
174
|
+
error: string | null;
|
|
175
|
+
refetch: () => void;
|
|
176
|
+
};
|
|
177
|
+
/**
|
|
178
|
+
* Hook to fetch a single public job posting by slug.
|
|
179
|
+
*
|
|
180
|
+
* @example
|
|
181
|
+
* ```tsx
|
|
182
|
+
* const { posting, loading, error } = usePublicJobPosting('senior-engineer');
|
|
183
|
+
* ```
|
|
184
|
+
*/
|
|
185
|
+
declare function usePublicJobPosting(slug: string, options?: UsePublicJobPostingOptions): {
|
|
186
|
+
posting: PublicJobPosting | null;
|
|
187
|
+
loading: boolean;
|
|
188
|
+
error: string | null;
|
|
189
|
+
refetch: () => void;
|
|
190
|
+
};
|
|
191
|
+
|
|
119
192
|
interface BlogListPageProps {
|
|
120
193
|
productName?: string;
|
|
121
194
|
heroTitle?: string;
|
|
@@ -284,4 +357,4 @@ interface ContractsPageProps {
|
|
|
284
357
|
}
|
|
285
358
|
declare function ContractsPage(props: ContractsPageProps): react_jsx_runtime.JSX.Element;
|
|
286
359
|
|
|
287
|
-
export { BlogListPage, type BlogListPageProps, BlogPostPage, type BlogPostPageProps, CaseStudiesListPage, type CaseStudiesListPageProps, CaseStudyPage, type CaseStudyPageProps, type ChangelogEntry, ChangelogPage, type ChangelogPageProps, type ContentPageData, type ContentPageListData, type ContentPageListItem, ContentRenderer, type ContractAsset, ContractsPage, type ContractsPageProps, Markdown, type MarkdownProps, type PressKitAsset, type PressKitAssetCategory, PressKitPage, type PressKitPageProps, type UseContentPageOptions, useContentPage, useContentPages };
|
|
360
|
+
export { BlogListPage, type BlogListPageProps, BlogPostPage, type BlogPostPageProps, CaseStudiesListPage, type CaseStudiesListPageProps, CaseStudyPage, type CaseStudyPageProps, type ChangelogEntry, ChangelogPage, type ChangelogPageProps, type ContentPageData, type ContentPageListData, type ContentPageListItem, ContentRenderer, type ContractAsset, ContractsPage, type ContractsPageProps, Markdown, type MarkdownProps, type PressKitAsset, type PressKitAssetCategory, PressKitPage, type PressKitPageProps, type PublicInterviewRoundConfig, type PublicJobPosting, type UseContentPageOptions, type UsePublicJobPostingOptions, type UsePublicJobPostingsOptions, fetchPublicJobPosting, fetchPublicJobPostings, useContentPage, useContentPages, usePublicJobPosting, usePublicJobPostings };
|
package/dist/content/index.js
CHANGED
|
@@ -449,6 +449,138 @@ function ContentRenderer({
|
|
|
449
449
|
}
|
|
450
450
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className, children: /* @__PURE__ */ jsxRuntime.jsx("pre", { style: { whiteSpace: "pre-wrap", fontFamily: "inherit" }, children: content }) });
|
|
451
451
|
}
|
|
452
|
+
var PUBLIC_JOB_POSTING_FIELDS = (
|
|
453
|
+
/* GraphQL */
|
|
454
|
+
`
|
|
455
|
+
id
|
|
456
|
+
slug
|
|
457
|
+
title
|
|
458
|
+
department
|
|
459
|
+
location
|
|
460
|
+
employmentType
|
|
461
|
+
openings
|
|
462
|
+
description
|
|
463
|
+
overview
|
|
464
|
+
responsibilities
|
|
465
|
+
learnings
|
|
466
|
+
qualifications
|
|
467
|
+
rounds {
|
|
468
|
+
roundNumber
|
|
469
|
+
name
|
|
470
|
+
roundType
|
|
471
|
+
isRequired
|
|
472
|
+
description
|
|
473
|
+
}
|
|
474
|
+
`
|
|
475
|
+
);
|
|
476
|
+
var PUBLIC_JOB_POSTINGS_QUERY = (
|
|
477
|
+
/* GraphQL */
|
|
478
|
+
`
|
|
479
|
+
query PublicJobPostings($productId: ID, $limit: Int, $offset: Int) {
|
|
480
|
+
publicJobPostings(productId: $productId, limit: $limit, offset: $offset) {
|
|
481
|
+
${PUBLIC_JOB_POSTING_FIELDS}
|
|
482
|
+
}
|
|
483
|
+
}
|
|
484
|
+
`
|
|
485
|
+
);
|
|
486
|
+
var PUBLIC_JOB_POSTING_QUERY = (
|
|
487
|
+
/* GraphQL */
|
|
488
|
+
`
|
|
489
|
+
query PublicJobPosting($slug: String!, $productId: ID) {
|
|
490
|
+
publicJobPosting(slug: $slug, productId: $productId) {
|
|
491
|
+
${PUBLIC_JOB_POSTING_FIELDS}
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
`
|
|
495
|
+
);
|
|
496
|
+
async function fetchPublicJobPostings(client, options) {
|
|
497
|
+
const result = await client.query(PUBLIC_JOB_POSTINGS_QUERY, {
|
|
498
|
+
productId: options?.productId,
|
|
499
|
+
limit: options?.limit ?? 50,
|
|
500
|
+
offset: options?.offset ?? 0
|
|
501
|
+
});
|
|
502
|
+
if (result.errors?.length) {
|
|
503
|
+
throw new Error(result.errors[0]?.message ?? "Unknown error");
|
|
504
|
+
}
|
|
505
|
+
return result.data?.publicJobPostings ?? [];
|
|
506
|
+
}
|
|
507
|
+
async function fetchPublicJobPosting(client, slug, options) {
|
|
508
|
+
const result = await client.query(PUBLIC_JOB_POSTING_QUERY, {
|
|
509
|
+
slug,
|
|
510
|
+
productId: options?.productId
|
|
511
|
+
});
|
|
512
|
+
if (result.errors?.length) {
|
|
513
|
+
throw new Error(result.errors[0]?.message ?? "Unknown error");
|
|
514
|
+
}
|
|
515
|
+
return result.data?.publicJobPosting ?? null;
|
|
516
|
+
}
|
|
517
|
+
function usePublicJobPostings(options) {
|
|
518
|
+
const client = useWebSDK();
|
|
519
|
+
const config = useWebSDKConfig();
|
|
520
|
+
const { product } = useProduct();
|
|
521
|
+
const resolvedProductId = options?.productId ?? product?.id ?? config.productId;
|
|
522
|
+
const [postings, setPostings] = React.useState([]);
|
|
523
|
+
const [loading, setLoading] = React.useState(true);
|
|
524
|
+
const [error, setError] = React.useState(null);
|
|
525
|
+
const fetchPostings = React.useCallback(async () => {
|
|
526
|
+
setLoading(true);
|
|
527
|
+
setError(null);
|
|
528
|
+
try {
|
|
529
|
+
const items = await fetchPublicJobPostings(client, {
|
|
530
|
+
productId: resolvedProductId,
|
|
531
|
+
limit: options?.limit,
|
|
532
|
+
offset: options?.offset
|
|
533
|
+
});
|
|
534
|
+
setPostings(items);
|
|
535
|
+
} catch (err) {
|
|
536
|
+
setError(
|
|
537
|
+
err instanceof Error ? err.message : "Failed to fetch job postings"
|
|
538
|
+
);
|
|
539
|
+
setPostings([]);
|
|
540
|
+
} finally {
|
|
541
|
+
setLoading(false);
|
|
542
|
+
}
|
|
543
|
+
}, [client, resolvedProductId, options?.limit, options?.offset]);
|
|
544
|
+
React.useEffect(() => {
|
|
545
|
+
fetchPostings();
|
|
546
|
+
}, [fetchPostings]);
|
|
547
|
+
return { postings, loading, error, refetch: fetchPostings };
|
|
548
|
+
}
|
|
549
|
+
function usePublicJobPosting(slug, options) {
|
|
550
|
+
const client = useWebSDK();
|
|
551
|
+
const config = useWebSDKConfig();
|
|
552
|
+
const { product } = useProduct();
|
|
553
|
+
const resolvedProductId = options?.productId ?? product?.id ?? config.productId;
|
|
554
|
+
const [posting, setPosting] = React.useState(null);
|
|
555
|
+
const [loading, setLoading] = React.useState(true);
|
|
556
|
+
const [error, setError] = React.useState(null);
|
|
557
|
+
const fetchPosting = React.useCallback(async () => {
|
|
558
|
+
if (!slug) {
|
|
559
|
+
setPosting(null);
|
|
560
|
+
setLoading(false);
|
|
561
|
+
return;
|
|
562
|
+
}
|
|
563
|
+
setLoading(true);
|
|
564
|
+
setError(null);
|
|
565
|
+
try {
|
|
566
|
+
const item = await fetchPublicJobPosting(client, slug, {
|
|
567
|
+
productId: resolvedProductId
|
|
568
|
+
});
|
|
569
|
+
setPosting(item);
|
|
570
|
+
} catch (err) {
|
|
571
|
+
setError(
|
|
572
|
+
err instanceof Error ? err.message : "Failed to fetch job posting"
|
|
573
|
+
);
|
|
574
|
+
setPosting(null);
|
|
575
|
+
} finally {
|
|
576
|
+
setLoading(false);
|
|
577
|
+
}
|
|
578
|
+
}, [client, resolvedProductId, slug]);
|
|
579
|
+
React.useEffect(() => {
|
|
580
|
+
fetchPosting();
|
|
581
|
+
}, [fetchPosting]);
|
|
582
|
+
return { posting, loading, error, refetch: fetchPosting };
|
|
583
|
+
}
|
|
452
584
|
var PROSE_CSS = `
|
|
453
585
|
.boff-prose {
|
|
454
586
|
max-width: none;
|
|
@@ -3095,7 +3227,11 @@ exports.ContentRenderer = ContentRenderer;
|
|
|
3095
3227
|
exports.ContractsPage = ContractsPage;
|
|
3096
3228
|
exports.Markdown = Markdown;
|
|
3097
3229
|
exports.PressKitPage = PressKitPage;
|
|
3230
|
+
exports.fetchPublicJobPosting = fetchPublicJobPosting;
|
|
3231
|
+
exports.fetchPublicJobPostings = fetchPublicJobPostings;
|
|
3098
3232
|
exports.useContentPage = useContentPage;
|
|
3099
3233
|
exports.useContentPages = useContentPages;
|
|
3234
|
+
exports.usePublicJobPosting = usePublicJobPosting;
|
|
3235
|
+
exports.usePublicJobPostings = usePublicJobPostings;
|
|
3100
3236
|
//# sourceMappingURL=index.js.map
|
|
3101
3237
|
//# sourceMappingURL=index.js.map
|