@burdenoff/website-sdk 2026.925.1 → 2026.925.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/client/index.js +2 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/index.mjs +2 -0
- package/dist/client/index.mjs.map +1 -1
- package/dist/components/explore.d.mts +1 -1
- package/dist/components/explore.d.ts +1 -1
- package/dist/components/explore.js +1049 -502
- package/dist/components/explore.js.map +1 -1
- package/dist/components/explore.mjs +1051 -505
- package/dist/components/explore.mjs.map +1 -1
- package/dist/components/partners.js +3 -2
- package/dist/components/partners.js.map +1 -1
- package/dist/components/partners.mjs +3 -2
- package/dist/components/partners.mjs.map +1 -1
- package/dist/content/index.d.mts +1 -1
- package/dist/content/index.d.ts +1 -1
- package/dist/content/index.js +3 -2
- package/dist/content/index.js.map +1 -1
- package/dist/content/index.mjs +3 -2
- package/dist/content/index.mjs.map +1 -1
- package/dist/{explore-C3SEP5K6.d.ts → explore-Cam_ElSJ.d.ts} +71 -13
- package/dist/{explore-Crc41y0j.d.mts → explore-hTQm-_SF.d.mts} +71 -13
- package/dist/hooks/index.js +24 -14
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/index.mjs +24 -14
- package/dist/hooks/index.mjs.map +1 -1
- package/dist/{index-BMWQNZDX.d.mts → index-gm3pBCJT.d.mts} +8 -2
- package/dist/{index-BqHF-G-S.d.ts → index-ySbOLSD5.d.ts} +8 -2
- package/dist/index.d.mts +30 -9
- package/dist/index.d.ts +30 -9
- package/dist/index.js +829 -260
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +829 -262
- package/dist/index.mjs.map +1 -1
- package/dist/store/index.js +3 -2
- package/dist/store/index.js.map +1 -1
- package/dist/store/index.mjs +3 -2
- package/dist/store/index.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
|
-
import { Components } from 'react-markdown';
|
|
3
|
+
import { Components, Options } from 'react-markdown';
|
|
4
4
|
import { W as WebSDKClient } from './graphql-client-CI9vbgat.mjs';
|
|
5
5
|
|
|
6
6
|
/** A job posting option for the CareersApplyForm dropdown. */
|
|
@@ -148,6 +148,12 @@ interface MarkdownProps {
|
|
|
148
148
|
inline?: boolean;
|
|
149
149
|
/** Optional react-markdown component overrides. */
|
|
150
150
|
components?: Components;
|
|
151
|
+
/**
|
|
152
|
+
* Extra rehype plugins. They run AFTER `rehype-sanitize`, on the already-safe tree, so they
|
|
153
|
+
* are for annotating nodes an override then reads — never for adding markup, because
|
|
154
|
+
* nothing sanitises what they insert.
|
|
155
|
+
*/
|
|
156
|
+
rehypePlugins?: Options["rehypePlugins"];
|
|
151
157
|
}
|
|
152
158
|
/**
|
|
153
159
|
* Shared markdown renderer for website content.
|
|
@@ -157,7 +163,7 @@ interface MarkdownProps {
|
|
|
157
163
|
* - Sanitizes HTML via `rehype-sanitize` so raw markup in markdown is stripped.
|
|
158
164
|
* - External links open in a new tab with safe rel attributes.
|
|
159
165
|
*/
|
|
160
|
-
declare function Markdown({ children, className, inline, components, }: MarkdownProps): ReactNode;
|
|
166
|
+
declare function Markdown({ children, className, inline, components, rehypePlugins, }: MarkdownProps): ReactNode;
|
|
161
167
|
|
|
162
168
|
interface PublicInterviewRoundConfig {
|
|
163
169
|
roundNumber: number;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
|
-
import { Components } from 'react-markdown';
|
|
3
|
+
import { Components, Options } from 'react-markdown';
|
|
4
4
|
import { W as WebSDKClient } from './graphql-client-CI9vbgat.js';
|
|
5
5
|
|
|
6
6
|
/** A job posting option for the CareersApplyForm dropdown. */
|
|
@@ -148,6 +148,12 @@ interface MarkdownProps {
|
|
|
148
148
|
inline?: boolean;
|
|
149
149
|
/** Optional react-markdown component overrides. */
|
|
150
150
|
components?: Components;
|
|
151
|
+
/**
|
|
152
|
+
* Extra rehype plugins. They run AFTER `rehype-sanitize`, on the already-safe tree, so they
|
|
153
|
+
* are for annotating nodes an override then reads — never for adding markup, because
|
|
154
|
+
* nothing sanitises what they insert.
|
|
155
|
+
*/
|
|
156
|
+
rehypePlugins?: Options["rehypePlugins"];
|
|
151
157
|
}
|
|
152
158
|
/**
|
|
153
159
|
* Shared markdown renderer for website content.
|
|
@@ -157,7 +163,7 @@ interface MarkdownProps {
|
|
|
157
163
|
* - Sanitizes HTML via `rehype-sanitize` so raw markup in markdown is stripped.
|
|
158
164
|
* - External links open in a new tab with safe rel attributes.
|
|
159
165
|
*/
|
|
160
|
-
declare function Markdown({ children, className, inline, components, }: MarkdownProps): ReactNode;
|
|
166
|
+
declare function Markdown({ children, className, inline, components, rehypePlugins, }: MarkdownProps): ReactNode;
|
|
161
167
|
|
|
162
168
|
interface PublicInterviewRoundConfig {
|
|
163
169
|
roundNumber: number;
|
package/dist/index.d.mts
CHANGED
|
@@ -2,8 +2,8 @@ export { G as GraphQLResponse, W as WebSDKClient, a as WebSDKClientConfig, b as
|
|
|
2
2
|
export { W as WebSDKProvider, a as WebSDKProviderProps, u as useWebSDK, b as useWebSDKConfig } from './provider-MFV1NVqZ.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-
|
|
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-
|
|
5
|
+
import { C as CareersPostingOption } from './index-gm3pBCJT.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-gm3pBCJT.mjs';
|
|
7
7
|
import * as react from 'react';
|
|
8
8
|
import { ComponentType, ReactNode } from 'react';
|
|
9
9
|
export { NewsletterForm, NewsletterFormProps, NewsletterPage, NewsletterPageProps } from './components/newsletter.mjs';
|
|
@@ -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 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-
|
|
21
|
+
import { A as AnswerRendererStrings } from './explore-hTQm-_SF.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, k as isInlineVideoAllowed, p as productSlugsByOrigin } from './explore-hTQm-_SF.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-BBLRAnbU.mjs';
|
|
@@ -616,6 +616,24 @@ interface ExploreStrings {
|
|
|
616
616
|
* columns that are off the edge. The `<table>` inside it keeps its own semantics.
|
|
617
617
|
*/
|
|
618
618
|
answerTable: string;
|
|
619
|
+
/**
|
|
620
|
+
* The product-video card in an answer (CONTRACT.md §7) and the player it opens.
|
|
621
|
+
*
|
|
622
|
+
* `productVideo` is the card's badge — the video counterpart of `conceptIllustration` —
|
|
623
|
+
* and names a video the answer gave no title. `productVideoTitle` names the video in this
|
|
624
|
+
* language and takes `{product}`: the harness always writes the line's text as the English
|
|
625
|
+
* "<Name> product video", so the card keeps only the name from it. `playVideo` is the
|
|
626
|
+
* card's accessible name and takes `{title}`, which is that name. The last four belong to
|
|
627
|
+
* the player: its Close button, the two states of its full-screen toggle, and the line
|
|
628
|
+
* shown in place of a video that cannot be played.
|
|
629
|
+
*/
|
|
630
|
+
productVideo: string;
|
|
631
|
+
productVideoTitle: string;
|
|
632
|
+
playVideo: string;
|
|
633
|
+
closeVideo: string;
|
|
634
|
+
enterFullScreen: string;
|
|
635
|
+
exitFullScreen: string;
|
|
636
|
+
videoUnavailable: string;
|
|
619
637
|
/** Accessible name of the provenance row under an answer. */
|
|
620
638
|
groundedIn: string;
|
|
621
639
|
/** How many sources the answer cites. `sourceCountMany` takes `{count}`. */
|
|
@@ -667,12 +685,15 @@ declare function speechLocaleOf(locale: ExploreLocale): string;
|
|
|
667
685
|
* then prints an English answer tells a screen reader to read English with Arabic phonemes,
|
|
668
686
|
* and tells a crawler the answer is in a language it is not.
|
|
669
687
|
*
|
|
670
|
-
* ## The
|
|
688
|
+
* ## The borrowed strings
|
|
671
689
|
*
|
|
672
|
-
* `answerTable`, `conceptIllustration
|
|
673
|
-
*
|
|
674
|
-
*
|
|
675
|
-
*
|
|
690
|
+
* `answerTable`, `conceptIllustration`, `opensInNewTab` and the product-video card's and
|
|
691
|
+
* player's words (`productVideo`, `productVideoTitle`, `playVideo`, `closeVideo`,
|
|
692
|
+
* `enterFullScreen`, `exitFullScreen`, `videoUnavailable`) come straight from
|
|
693
|
+
* `exploreStrings`. They are the
|
|
694
|
+
* words the ANSWER BODY renders, and the answer body is the same component on both surfaces
|
|
695
|
+
* — two phrasings for the same caveat read as two different caveats, which is the rule the
|
|
696
|
+
* illustration badge already follows.
|
|
676
697
|
*/
|
|
677
698
|
|
|
678
699
|
interface AnswerStrings extends AnswerRendererStrings {
|
package/dist/index.d.ts
CHANGED
|
@@ -2,8 +2,8 @@ export { G as GraphQLResponse, W as WebSDKClient, a as WebSDKClientConfig, b as
|
|
|
2
2
|
export { W as WebSDKProvider, a as WebSDKProviderProps, u as useWebSDK, b as useWebSDKConfig } from './provider-Dwgz4d0r.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-
|
|
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-
|
|
5
|
+
import { C as CareersPostingOption } from './index-ySbOLSD5.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-ySbOLSD5.js';
|
|
7
7
|
import * as react from 'react';
|
|
8
8
|
import { ComponentType, ReactNode } from 'react';
|
|
9
9
|
export { NewsletterForm, NewsletterFormProps, NewsletterPage, NewsletterPageProps } from './components/newsletter.js';
|
|
@@ -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 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-
|
|
21
|
+
import { A as AnswerRendererStrings } from './explore-Cam_ElSJ.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, k as isInlineVideoAllowed, p as productSlugsByOrigin } from './explore-Cam_ElSJ.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-myNKWb6S.js';
|
|
@@ -616,6 +616,24 @@ interface ExploreStrings {
|
|
|
616
616
|
* columns that are off the edge. The `<table>` inside it keeps its own semantics.
|
|
617
617
|
*/
|
|
618
618
|
answerTable: string;
|
|
619
|
+
/**
|
|
620
|
+
* The product-video card in an answer (CONTRACT.md §7) and the player it opens.
|
|
621
|
+
*
|
|
622
|
+
* `productVideo` is the card's badge — the video counterpart of `conceptIllustration` —
|
|
623
|
+
* and names a video the answer gave no title. `productVideoTitle` names the video in this
|
|
624
|
+
* language and takes `{product}`: the harness always writes the line's text as the English
|
|
625
|
+
* "<Name> product video", so the card keeps only the name from it. `playVideo` is the
|
|
626
|
+
* card's accessible name and takes `{title}`, which is that name. The last four belong to
|
|
627
|
+
* the player: its Close button, the two states of its full-screen toggle, and the line
|
|
628
|
+
* shown in place of a video that cannot be played.
|
|
629
|
+
*/
|
|
630
|
+
productVideo: string;
|
|
631
|
+
productVideoTitle: string;
|
|
632
|
+
playVideo: string;
|
|
633
|
+
closeVideo: string;
|
|
634
|
+
enterFullScreen: string;
|
|
635
|
+
exitFullScreen: string;
|
|
636
|
+
videoUnavailable: string;
|
|
619
637
|
/** Accessible name of the provenance row under an answer. */
|
|
620
638
|
groundedIn: string;
|
|
621
639
|
/** How many sources the answer cites. `sourceCountMany` takes `{count}`. */
|
|
@@ -667,12 +685,15 @@ declare function speechLocaleOf(locale: ExploreLocale): string;
|
|
|
667
685
|
* then prints an English answer tells a screen reader to read English with Arabic phonemes,
|
|
668
686
|
* and tells a crawler the answer is in a language it is not.
|
|
669
687
|
*
|
|
670
|
-
* ## The
|
|
688
|
+
* ## The borrowed strings
|
|
671
689
|
*
|
|
672
|
-
* `answerTable`, `conceptIllustration
|
|
673
|
-
*
|
|
674
|
-
*
|
|
675
|
-
*
|
|
690
|
+
* `answerTable`, `conceptIllustration`, `opensInNewTab` and the product-video card's and
|
|
691
|
+
* player's words (`productVideo`, `productVideoTitle`, `playVideo`, `closeVideo`,
|
|
692
|
+
* `enterFullScreen`, `exitFullScreen`, `videoUnavailable`) come straight from
|
|
693
|
+
* `exploreStrings`. They are the
|
|
694
|
+
* words the ANSWER BODY renders, and the answer body is the same component on both surfaces
|
|
695
|
+
* — two phrasings for the same caveat read as two different caveats, which is the rule the
|
|
696
|
+
* illustration badge already follows.
|
|
676
697
|
*/
|
|
677
698
|
|
|
678
699
|
interface AnswerStrings extends AnswerRendererStrings {
|