@burdenoff/website-sdk 2026.924.1 → 2026.924.3
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/components/explore.d.mts +1 -1
- package/dist/components/explore.d.ts +1 -1
- package/dist/components/explore.js +25 -8
- package/dist/components/explore.js.map +1 -1
- package/dist/components/explore.mjs +25 -10
- package/dist/components/explore.mjs.map +1 -1
- package/dist/{explore-I4QnY4J9.d.ts → explore-C3SEP5K6.d.ts} +12 -1
- package/dist/{explore-D25zoXy9.d.mts → explore-Crc41y0j.d.mts} +12 -1
- package/dist/index.d.mts +36 -4
- package/dist/index.d.ts +36 -4
- package/dist/index.js +300 -148
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +299 -150
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -235,6 +235,17 @@ interface ExploreProvenance {
|
|
|
235
235
|
* there is no backend field behind this row.
|
|
236
236
|
*/
|
|
237
237
|
declare function summariseReferences(references: readonly ExploreReference[], origins: ReadonlySet<string>, productNames: ReadonlyMap<string, string>): ExploreProvenance;
|
|
238
|
+
/**
|
|
239
|
+
* Longest question a `?q=` link may pre-fill. Links are written by us (industry-solution
|
|
240
|
+
* pages, product sites), so this only guards against a pasted or crafted URL flooding the
|
|
241
|
+
* composer; the catalog's own message limit still applies when the visitor sends.
|
|
242
|
+
*/
|
|
243
|
+
declare const EXPLORE_PREFILL_MAX_LENGTH = 500;
|
|
244
|
+
/**
|
|
245
|
+
* Link to `/explore` with a starter question in the composer (see `?q=` in `ExplorePage`).
|
|
246
|
+
* `base` is the explore page's path or absolute URL.
|
|
247
|
+
*/
|
|
248
|
+
declare function exploreQuestionHref(question: string, base?: string): string;
|
|
238
249
|
declare function ExplorePage({ seo, productSlug, examplePrompts, className, heightMode, viewportOffset, onNavigate, onSend, welcomeTitle, welcomeBody, locale, }: ExplorePageProps): react.JSX.Element;
|
|
239
250
|
|
|
240
|
-
export { type AnswerRendererStrings as A,
|
|
251
|
+
export { type AnswerRendererStrings as A, EXPLORE_PREFILL_MAX_LENGTH as E, ExploreAnswerBody as a, type ExploreAnswerBodyProps as b, ExploreAnswerStyles as c, ExplorePage as d, type ExplorePageProps as e, answerPlainText as f, answerSpeechText as g, exploreQuestionHref as h, inlineImageOrigins as i, isInlineImageAllowed as j, type ExploreProvenance as k, type ExploreReferenceKind as l, logoUrlOf as m, productNamesByOrigin as p, referenceKindOf as r, summariseReferences as s };
|
|
@@ -235,6 +235,17 @@ interface ExploreProvenance {
|
|
|
235
235
|
* there is no backend field behind this row.
|
|
236
236
|
*/
|
|
237
237
|
declare function summariseReferences(references: readonly ExploreReference[], origins: ReadonlySet<string>, productNames: ReadonlyMap<string, string>): ExploreProvenance;
|
|
238
|
+
/**
|
|
239
|
+
* Longest question a `?q=` link may pre-fill. Links are written by us (industry-solution
|
|
240
|
+
* pages, product sites), so this only guards against a pasted or crafted URL flooding the
|
|
241
|
+
* composer; the catalog's own message limit still applies when the visitor sends.
|
|
242
|
+
*/
|
|
243
|
+
declare const EXPLORE_PREFILL_MAX_LENGTH = 500;
|
|
244
|
+
/**
|
|
245
|
+
* Link to `/explore` with a starter question in the composer (see `?q=` in `ExplorePage`).
|
|
246
|
+
* `base` is the explore page's path or absolute URL.
|
|
247
|
+
*/
|
|
248
|
+
declare function exploreQuestionHref(question: string, base?: string): string;
|
|
238
249
|
declare function ExplorePage({ seo, productSlug, examplePrompts, className, heightMode, viewportOffset, onNavigate, onSend, welcomeTitle, welcomeBody, locale, }: ExplorePageProps): react.JSX.Element;
|
|
239
250
|
|
|
240
|
-
export { type AnswerRendererStrings as A,
|
|
251
|
+
export { type AnswerRendererStrings as A, EXPLORE_PREFILL_MAX_LENGTH as E, ExploreAnswerBody as a, type ExploreAnswerBodyProps as b, ExploreAnswerStyles as c, ExplorePage as d, type ExplorePageProps as e, answerPlainText as f, answerSpeechText as g, exploreQuestionHref as h, inlineImageOrigins as i, isInlineImageAllowed as j, type ExploreProvenance as k, type ExploreReferenceKind as l, logoUrlOf as m, productNamesByOrigin as p, referenceKindOf as r, summariseReferences as s };
|
package/dist/index.d.mts
CHANGED
|
@@ -18,8 +18,8 @@ export { LaunchCountdown, LaunchCountdownProps } from './components/launch-count
|
|
|
18
18
|
export { ProblemSolved, ProblemsSolvedSection, ProblemsSolvedSectionProps } from './components/problems-solved.mjs';
|
|
19
19
|
export { DetectedPlatform, ElectronDownloadLink, ElectronDownloadLinkProps, detectElectronPlatform } from './components/electron-download.mjs';
|
|
20
20
|
import { Components } from 'react-markdown';
|
|
21
|
-
import { A as AnswerRendererStrings } from './explore-
|
|
22
|
-
export { E as
|
|
21
|
+
import { A as AnswerRendererStrings } from './explore-Crc41y0j.mjs';
|
|
22
|
+
export { E as EXPLORE_PREFILL_MAX_LENGTH, a as ExploreAnswerBody, b as ExploreAnswerBodyProps, c as ExploreAnswerStyles, d as ExplorePage, e as ExplorePageProps, f as answerPlainText, g as answerSpeechText, h as exploreQuestionHref, i as inlineImageOrigins, j as isInlineImageAllowed } from './explore-Crc41y0j.mjs';
|
|
23
23
|
export { ExploreCta, ExploreCtaProps } from './components/explore-cta.mjs';
|
|
24
24
|
export { g as ESCALATE_EXPLORE_CONVERSATION_MUTATION, h as EXPLORE_CATALOG_QUERY, i as EXPLORE_CATALOG_QUERY_WITHOUT_HIGHLIGHTS, j as EXPLORE_ESCALATION_NOTE_SOFT_MAX, k as EXPLORE_MESSAGE_QUERY, l as EscalateExploreConversationInput, m as EscalateExploreConversationResult, c as ExploreCatalog, n as ExploreCatalogQueryData, o as ExploreConceptHighlight, p as ExploreConversation, q as ExploreCtaKind, r as ExploreCtaLink, s as ExploreErrorCode, t as ExploreEscalation, b as ExploreLimits, d as ExploreMessage, u as ExploreMessageQueryData, v as ExploreMessageRole, w as ExploreMessageStatus, E as ExploreProduct, a as ExploreReference, S as SEND_EXPLORE_MESSAGE_MUTATION, x as SendExploreMessageInput, y as SendExploreMessageMutationData, z as SendExploreMessageResult, A as looksLikeDeliverableEmail } from './explore-types-B5sdOC5M.mjs';
|
|
25
25
|
export { D as DEFAULT_EXPLORE_EXAMPLE_PROMPTS, E as ExploreChatError, a as ExploreChatErrorKind, b as ExploreChatPhase, c as ExploreEscalateOutcome, d as ExploreEscalateResult, F as FALLBACK_EXPLORE_LIMITS, U as UseExploreChatOptions, e as UseExploreChatResult, f as UseSpeechOutputOptions, g as UseSpeechOutputResult, h as classifyExploreError, s as stopSpeaking, u as useExploreChat, i as useProgressiveReveal, j as useSpeechOutput } from './use-progressive-reveal-Cmy8bA7L.mjs';
|
|
@@ -119,6 +119,29 @@ interface Concept {
|
|
|
119
119
|
/** Slugs of related concepts on the same site. */
|
|
120
120
|
related: string[];
|
|
121
121
|
images: ConceptImage[];
|
|
122
|
+
/**
|
|
123
|
+
* Cross-product industry solutions on burdenoff.com/domains that feature this concept.
|
|
124
|
+
* Generated from the domain dossiers; absent (or empty) when the concept is in none.
|
|
125
|
+
*/
|
|
126
|
+
solutions?: ConceptSolution[];
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* One industry solution — a page on https://burdenoff.com/domains that shows several
|
|
130
|
+
* Burdenoff products working together in one domain (healthcare, logistics, …). A concept
|
|
131
|
+
* page links to the solutions that feature it; a site's `/concepts` page lists every
|
|
132
|
+
* solution its product takes part in.
|
|
133
|
+
*/
|
|
134
|
+
interface ConceptSolution {
|
|
135
|
+
/** Domain slug, e.g. `"healthcare"`. */
|
|
136
|
+
domain: string;
|
|
137
|
+
/** Domain display name, e.g. `"Healthcare Providers"`. */
|
|
138
|
+
name: string;
|
|
139
|
+
/** Absolute URL of the solution page, or of this concept's place in it. */
|
|
140
|
+
url: string;
|
|
141
|
+
/** Absolute URL of the domain illustration (a 16:9 thumbnail). */
|
|
142
|
+
image?: string;
|
|
143
|
+
/** One sentence: what this concept (or product) does in that solution. */
|
|
144
|
+
summary?: string;
|
|
122
145
|
}
|
|
123
146
|
interface ConceptCategory {
|
|
124
147
|
name: string;
|
|
@@ -143,6 +166,8 @@ type ConceptLinkComponent = ComponentType<ConceptLinkProps>;
|
|
|
143
166
|
* picture shows the shipping product.
|
|
144
167
|
*/
|
|
145
168
|
declare const CONCEPT_ILLUSTRATION_NOTICE = "These images are illustrations of the concept, not screenshots of the actual product.";
|
|
169
|
+
/** Where every industry solution is listed. */
|
|
170
|
+
declare const DOMAINS_URL = "https://burdenoff.com/domains";
|
|
146
171
|
/** The landing page route. */
|
|
147
172
|
declare const CONCEPTS_PATH = "/concepts";
|
|
148
173
|
/** Prefix of every concept detail route: `/concept/<slug>`. */
|
|
@@ -171,6 +196,13 @@ interface ConceptsPageProps {
|
|
|
171
196
|
title?: string;
|
|
172
197
|
/** Overrides the meta description (and the hero lead). Default: built from the counts. */
|
|
173
198
|
description?: string;
|
|
199
|
+
/**
|
|
200
|
+
* Industry solutions on burdenoff.com/domains that this product takes part in. Rendered as
|
|
201
|
+
* a band after the concepts; omitted when empty.
|
|
202
|
+
*/
|
|
203
|
+
solutions?: readonly ConceptSolution[];
|
|
204
|
+
/** "Browse every solution" target. Default: {@link DOMAINS_URL}. */
|
|
205
|
+
solutionsUrl?: string;
|
|
174
206
|
/** Extra classes for the page root. */
|
|
175
207
|
className?: string;
|
|
176
208
|
}
|
|
@@ -191,7 +223,7 @@ interface ConceptDetailPageProps {
|
|
|
191
223
|
* `/concepts` — every concept on the site, grouped by category, with a client-side search
|
|
192
224
|
* and category filter. Filters start at "All", so the prerendered page lists everything.
|
|
193
225
|
*/
|
|
194
|
-
declare function ConceptsPage({ productName, siteUrl, concepts, categories, cta, linkComponent, title, description, className, }: ConceptsPageProps): react.JSX.Element;
|
|
226
|
+
declare function ConceptsPage({ productName, siteUrl, concepts, categories, cta, linkComponent, title, description, solutions, solutionsUrl, className, }: ConceptsPageProps): react.JSX.Element;
|
|
195
227
|
/**
|
|
196
228
|
* `/concept/:slug` — one concept: hero illustration, the copy, every illustration with its
|
|
197
229
|
* caption and description, related concepts and previous / next by `order`.
|
|
@@ -762,4 +794,4 @@ declare const Textarea: react.ForwardRefExoticComponent<Omit<react.DetailedHTMLP
|
|
|
762
794
|
*/
|
|
763
795
|
declare const ECOSYSTEM_PRODUCTS: WebsiteSwitcherProduct[];
|
|
764
796
|
|
|
765
|
-
export { ANSWERS_PATH, ANSWER_HEADING_SHIFT, ANSWER_PATH_PREFIX, AnswerDetailPage, type AnswerDetailPageProps, type AnswerLinkComponent, type AnswerLinkProps, AnswerRendererStrings, type AnswerStrings, AnswersPage, type AnswersPageProps, Button, type ButtonProps, CONCEPTS_PATH, CONCEPT_ILLUSTRATION_NOTICE, CONCEPT_PATH_PREFIX, CareersPostingOption, CareersSubmissionForm, type CareersSubmissionFormProps, type Concept, type ConceptCategory, ConceptDetailPage, type ConceptDetailPageProps, type ConceptDevice, type ConceptImage, type ConceptLinkComponent, type ConceptLinkProps, ConceptsPage, type ConceptsPageProps, ECOSYSTEM_PRODUCTS, EXPLORE_LOCALES, type ExploreLocale, type ExploreStrings, Input, Label, PUBLISHED_ANSWER_FIELDS, type PublishedAnswer, type PublishedAnswerSource, type PublishedAnswerTopic, Select, Textarea, WebsiteSwitcherProduct, answerPath, answerSourceHost, answerStrings, buttonVariants, conceptPath, formatAnswerDate, getAnswerBySlug, getConceptBySlug, isPublishedSourceUrl, isValidUrl, speechLocaleOf };
|
|
797
|
+
export { ANSWERS_PATH, ANSWER_HEADING_SHIFT, ANSWER_PATH_PREFIX, AnswerDetailPage, type AnswerDetailPageProps, type AnswerLinkComponent, type AnswerLinkProps, AnswerRendererStrings, type AnswerStrings, AnswersPage, type AnswersPageProps, Button, type ButtonProps, CONCEPTS_PATH, CONCEPT_ILLUSTRATION_NOTICE, CONCEPT_PATH_PREFIX, CareersPostingOption, CareersSubmissionForm, type CareersSubmissionFormProps, type Concept, type ConceptCategory, ConceptDetailPage, type ConceptDetailPageProps, type ConceptDevice, type ConceptImage, type ConceptLinkComponent, type ConceptLinkProps, type ConceptSolution, ConceptsPage, type ConceptsPageProps, DOMAINS_URL, ECOSYSTEM_PRODUCTS, EXPLORE_LOCALES, type ExploreLocale, type ExploreStrings, Input, Label, PUBLISHED_ANSWER_FIELDS, type PublishedAnswer, type PublishedAnswerSource, type PublishedAnswerTopic, Select, Textarea, WebsiteSwitcherProduct, answerPath, answerSourceHost, answerStrings, buttonVariants, conceptPath, formatAnswerDate, getAnswerBySlug, getConceptBySlug, isPublishedSourceUrl, isValidUrl, speechLocaleOf };
|
package/dist/index.d.ts
CHANGED
|
@@ -18,8 +18,8 @@ export { LaunchCountdown, LaunchCountdownProps } from './components/launch-count
|
|
|
18
18
|
export { ProblemSolved, ProblemsSolvedSection, ProblemsSolvedSectionProps } from './components/problems-solved.js';
|
|
19
19
|
export { DetectedPlatform, ElectronDownloadLink, ElectronDownloadLinkProps, detectElectronPlatform } from './components/electron-download.js';
|
|
20
20
|
import { Components } from 'react-markdown';
|
|
21
|
-
import { A as AnswerRendererStrings } from './explore-
|
|
22
|
-
export { E as
|
|
21
|
+
import { A as AnswerRendererStrings } from './explore-C3SEP5K6.js';
|
|
22
|
+
export { E as EXPLORE_PREFILL_MAX_LENGTH, a as ExploreAnswerBody, b as ExploreAnswerBodyProps, c as ExploreAnswerStyles, d as ExplorePage, e as ExplorePageProps, f as answerPlainText, g as answerSpeechText, h as exploreQuestionHref, i as inlineImageOrigins, j as isInlineImageAllowed } from './explore-C3SEP5K6.js';
|
|
23
23
|
export { ExploreCta, ExploreCtaProps } from './components/explore-cta.js';
|
|
24
24
|
export { g as ESCALATE_EXPLORE_CONVERSATION_MUTATION, h as EXPLORE_CATALOG_QUERY, i as EXPLORE_CATALOG_QUERY_WITHOUT_HIGHLIGHTS, j as EXPLORE_ESCALATION_NOTE_SOFT_MAX, k as EXPLORE_MESSAGE_QUERY, l as EscalateExploreConversationInput, m as EscalateExploreConversationResult, c as ExploreCatalog, n as ExploreCatalogQueryData, o as ExploreConceptHighlight, p as ExploreConversation, q as ExploreCtaKind, r as ExploreCtaLink, s as ExploreErrorCode, t as ExploreEscalation, b as ExploreLimits, d as ExploreMessage, u as ExploreMessageQueryData, v as ExploreMessageRole, w as ExploreMessageStatus, E as ExploreProduct, a as ExploreReference, S as SEND_EXPLORE_MESSAGE_MUTATION, x as SendExploreMessageInput, y as SendExploreMessageMutationData, z as SendExploreMessageResult, A as looksLikeDeliverableEmail } from './explore-types-B5sdOC5M.js';
|
|
25
25
|
export { D as DEFAULT_EXPLORE_EXAMPLE_PROMPTS, E as ExploreChatError, a as ExploreChatErrorKind, b as ExploreChatPhase, c as ExploreEscalateOutcome, d as ExploreEscalateResult, F as FALLBACK_EXPLORE_LIMITS, U as UseExploreChatOptions, e as UseExploreChatResult, f as UseSpeechOutputOptions, g as UseSpeechOutputResult, h as classifyExploreError, s as stopSpeaking, u as useExploreChat, i as useProgressiveReveal, j as useSpeechOutput } from './use-progressive-reveal-DHPGGxZu.js';
|
|
@@ -119,6 +119,29 @@ interface Concept {
|
|
|
119
119
|
/** Slugs of related concepts on the same site. */
|
|
120
120
|
related: string[];
|
|
121
121
|
images: ConceptImage[];
|
|
122
|
+
/**
|
|
123
|
+
* Cross-product industry solutions on burdenoff.com/domains that feature this concept.
|
|
124
|
+
* Generated from the domain dossiers; absent (or empty) when the concept is in none.
|
|
125
|
+
*/
|
|
126
|
+
solutions?: ConceptSolution[];
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* One industry solution — a page on https://burdenoff.com/domains that shows several
|
|
130
|
+
* Burdenoff products working together in one domain (healthcare, logistics, …). A concept
|
|
131
|
+
* page links to the solutions that feature it; a site's `/concepts` page lists every
|
|
132
|
+
* solution its product takes part in.
|
|
133
|
+
*/
|
|
134
|
+
interface ConceptSolution {
|
|
135
|
+
/** Domain slug, e.g. `"healthcare"`. */
|
|
136
|
+
domain: string;
|
|
137
|
+
/** Domain display name, e.g. `"Healthcare Providers"`. */
|
|
138
|
+
name: string;
|
|
139
|
+
/** Absolute URL of the solution page, or of this concept's place in it. */
|
|
140
|
+
url: string;
|
|
141
|
+
/** Absolute URL of the domain illustration (a 16:9 thumbnail). */
|
|
142
|
+
image?: string;
|
|
143
|
+
/** One sentence: what this concept (or product) does in that solution. */
|
|
144
|
+
summary?: string;
|
|
122
145
|
}
|
|
123
146
|
interface ConceptCategory {
|
|
124
147
|
name: string;
|
|
@@ -143,6 +166,8 @@ type ConceptLinkComponent = ComponentType<ConceptLinkProps>;
|
|
|
143
166
|
* picture shows the shipping product.
|
|
144
167
|
*/
|
|
145
168
|
declare const CONCEPT_ILLUSTRATION_NOTICE = "These images are illustrations of the concept, not screenshots of the actual product.";
|
|
169
|
+
/** Where every industry solution is listed. */
|
|
170
|
+
declare const DOMAINS_URL = "https://burdenoff.com/domains";
|
|
146
171
|
/** The landing page route. */
|
|
147
172
|
declare const CONCEPTS_PATH = "/concepts";
|
|
148
173
|
/** Prefix of every concept detail route: `/concept/<slug>`. */
|
|
@@ -171,6 +196,13 @@ interface ConceptsPageProps {
|
|
|
171
196
|
title?: string;
|
|
172
197
|
/** Overrides the meta description (and the hero lead). Default: built from the counts. */
|
|
173
198
|
description?: string;
|
|
199
|
+
/**
|
|
200
|
+
* Industry solutions on burdenoff.com/domains that this product takes part in. Rendered as
|
|
201
|
+
* a band after the concepts; omitted when empty.
|
|
202
|
+
*/
|
|
203
|
+
solutions?: readonly ConceptSolution[];
|
|
204
|
+
/** "Browse every solution" target. Default: {@link DOMAINS_URL}. */
|
|
205
|
+
solutionsUrl?: string;
|
|
174
206
|
/** Extra classes for the page root. */
|
|
175
207
|
className?: string;
|
|
176
208
|
}
|
|
@@ -191,7 +223,7 @@ interface ConceptDetailPageProps {
|
|
|
191
223
|
* `/concepts` — every concept on the site, grouped by category, with a client-side search
|
|
192
224
|
* and category filter. Filters start at "All", so the prerendered page lists everything.
|
|
193
225
|
*/
|
|
194
|
-
declare function ConceptsPage({ productName, siteUrl, concepts, categories, cta, linkComponent, title, description, className, }: ConceptsPageProps): react.JSX.Element;
|
|
226
|
+
declare function ConceptsPage({ productName, siteUrl, concepts, categories, cta, linkComponent, title, description, solutions, solutionsUrl, className, }: ConceptsPageProps): react.JSX.Element;
|
|
195
227
|
/**
|
|
196
228
|
* `/concept/:slug` — one concept: hero illustration, the copy, every illustration with its
|
|
197
229
|
* caption and description, related concepts and previous / next by `order`.
|
|
@@ -762,4 +794,4 @@ declare const Textarea: react.ForwardRefExoticComponent<Omit<react.DetailedHTMLP
|
|
|
762
794
|
*/
|
|
763
795
|
declare const ECOSYSTEM_PRODUCTS: WebsiteSwitcherProduct[];
|
|
764
796
|
|
|
765
|
-
export { ANSWERS_PATH, ANSWER_HEADING_SHIFT, ANSWER_PATH_PREFIX, AnswerDetailPage, type AnswerDetailPageProps, type AnswerLinkComponent, type AnswerLinkProps, AnswerRendererStrings, type AnswerStrings, AnswersPage, type AnswersPageProps, Button, type ButtonProps, CONCEPTS_PATH, CONCEPT_ILLUSTRATION_NOTICE, CONCEPT_PATH_PREFIX, CareersPostingOption, CareersSubmissionForm, type CareersSubmissionFormProps, type Concept, type ConceptCategory, ConceptDetailPage, type ConceptDetailPageProps, type ConceptDevice, type ConceptImage, type ConceptLinkComponent, type ConceptLinkProps, ConceptsPage, type ConceptsPageProps, ECOSYSTEM_PRODUCTS, EXPLORE_LOCALES, type ExploreLocale, type ExploreStrings, Input, Label, PUBLISHED_ANSWER_FIELDS, type PublishedAnswer, type PublishedAnswerSource, type PublishedAnswerTopic, Select, Textarea, WebsiteSwitcherProduct, answerPath, answerSourceHost, answerStrings, buttonVariants, conceptPath, formatAnswerDate, getAnswerBySlug, getConceptBySlug, isPublishedSourceUrl, isValidUrl, speechLocaleOf };
|
|
797
|
+
export { ANSWERS_PATH, ANSWER_HEADING_SHIFT, ANSWER_PATH_PREFIX, AnswerDetailPage, type AnswerDetailPageProps, type AnswerLinkComponent, type AnswerLinkProps, AnswerRendererStrings, type AnswerStrings, AnswersPage, type AnswersPageProps, Button, type ButtonProps, CONCEPTS_PATH, CONCEPT_ILLUSTRATION_NOTICE, CONCEPT_PATH_PREFIX, CareersPostingOption, CareersSubmissionForm, type CareersSubmissionFormProps, type Concept, type ConceptCategory, ConceptDetailPage, type ConceptDetailPageProps, type ConceptDevice, type ConceptImage, type ConceptLinkComponent, type ConceptLinkProps, type ConceptSolution, ConceptsPage, type ConceptsPageProps, DOMAINS_URL, ECOSYSTEM_PRODUCTS, EXPLORE_LOCALES, type ExploreLocale, type ExploreStrings, Input, Label, PUBLISHED_ANSWER_FIELDS, type PublishedAnswer, type PublishedAnswerSource, type PublishedAnswerTopic, Select, Textarea, WebsiteSwitcherProduct, answerPath, answerSourceHost, answerStrings, buttonVariants, conceptPath, formatAnswerDate, getAnswerBySlug, getConceptBySlug, isPublishedSourceUrl, isValidUrl, speechLocaleOf };
|