@burdenoff/website-sdk 2026.1004.1 → 2026.1013.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.
package/dist/index.d.mts CHANGED
@@ -18,11 +18,11 @@ 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-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';
21
+ import { A as AnswerRendererStrings } from './explore-POqE7J8r.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-POqE7J8r.mjs';
23
23
  export { ExploreCta, ExploreCtaProps } from './components/explore-cta.mjs';
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
- 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';
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-BB8HNFzX.mjs';
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-Kr6DwGXG.mjs';
26
26
  export { RybbitAnalytics, RybbitAnalyticsProps } from './analytics/index.mjs';
27
27
  export { PageHead, PageHeadProps } from './seo/index.mjs';
28
28
  export { ProductData, ProductProvider, ProductProviderProps, PublicProductFetchResult, fetchPublicProduct, useProduct, useProductConfig } from './product/index.mjs';
@@ -72,7 +72,7 @@ declare function CareersSubmissionForm({ productName, recaptchaSiteKey, postings
72
72
  * site's `llms-full.txt`, so a field renamed here breaks 37 site builds and the corpus at
73
73
  * once — change the generator and this file together, never one of them alone.
74
74
  *
75
- * Canonical source: `dev/platform/context/concepts/01-architecture.md` → "Contracts".
75
+ * Canonical source: `dev/platform/context/publishing/concepts/01-architecture.md` → "Contracts".
76
76
  */
77
77
 
78
78
  /** The frame a mockup was drawn for. Drives nothing but layout hints. */
@@ -166,6 +166,25 @@ type ConceptLinkComponent = ComponentType<ConceptLinkProps>;
166
166
  * picture shows the shipping product.
167
167
  */
168
168
  declare const CONCEPT_ILLUSTRATION_NOTICE = "These images are illustrations of the concept, not screenshots of the actual product.";
169
+ /**
170
+ * The disclaimer shown above every concept's "How it works" steps.
171
+ *
172
+ * A numbered list under that heading reads as a procedure — the sequence of screens a
173
+ * visitor would click through — when what it actually describes is how the pieces of the
174
+ * concept relate. The illustration notice covers the pictures; nothing covered the steps,
175
+ * so the most instruction-shaped part of the page was the least qualified.
176
+ *
177
+ * Rendered with NO data gate, exactly like CONCEPT_ILLUSTRATION_NOTICE. Keying a
178
+ * disclosure to a generated field is how it disappears silently the first time a
179
+ * generator omits that field, and the page would then look more authoritative, not less.
180
+ * The section's own `workflow.length > 0` check is the only condition: no steps, no
181
+ * heading, nothing to qualify.
182
+ *
183
+ * The sentence says nothing about launch or availability. Every product behind these
184
+ * pages is generally available, and a notice that hinted otherwise would be false on
185
+ * every site that renders it.
186
+ */
187
+ declare const CONCEPT_WORKFLOW_NOTICE = "These steps illustrate how the concept fits together \u2014 not a walkthrough of the product's current interface.";
169
188
  /** Where every industry solution is listed. */
170
189
  declare const DOMAINS_URL = "https://burdenoff.com/domains";
171
190
  /** The landing page route. */
@@ -264,7 +283,7 @@ declare function ConceptDetailPage(props: ConceptDetailPageProps): react.JSX.Ele
264
283
  *
265
284
  * Each site ships a generated `src/data/answers.ts` exporting `ANSWERS`, `ANSWER_TOPICS` and
266
285
  * `ANSWERS_PRODUCT_NAME`, typed against these interfaces — the same arrangement the concept
267
- * pages use (`dev/platform/context/concepts/01-architecture.md`). A field renamed here changes
286
+ * pages use (`dev/platform/context/publishing/concepts/01-architecture.md`). A field renamed here changes
268
287
  * every site's generated data module, so change the generator and this file together.
269
288
  */
270
289
 
@@ -295,7 +314,7 @@ interface PublishedAnswer {
295
314
  * The answer, as GitHub-flavoured markdown — exactly what the harness returned.
296
315
  *
297
316
  * It can contain GFM tables (a comparison or a plan list comes back as one; see
298
- * `dev/platform/context/explore/CONTRACT.md` §7), links and concept illustrations, so it is
317
+ * `dev/platform/context/publishing/explore/CONTRACT.md` §7), links and concept illustrations, so it is
299
318
  * rendered by the SAME renderer the chat uses and not by a second one.
300
319
  */
301
320
  answer: string;
@@ -815,4 +834,4 @@ declare const Textarea: react.ForwardRefExoticComponent<Omit<react.DetailedHTMLP
815
834
  */
816
835
  declare const ECOSYSTEM_PRODUCTS: WebsiteSwitcherProduct[];
817
836
 
818
- 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 };
837
+ 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, CONCEPT_WORKFLOW_NOTICE, 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,11 +18,11 @@ 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-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';
21
+ import { A as AnswerRendererStrings } from './explore-D6kon7uz.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-D6kon7uz.js';
23
23
  export { ExploreCta, ExploreCtaProps } from './components/explore-cta.js';
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
- 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';
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-BB8HNFzX.js';
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-BVJn9NIr.js';
26
26
  export { RybbitAnalytics, RybbitAnalyticsProps } from './analytics/index.js';
27
27
  export { PageHead, PageHeadProps } from './seo/index.js';
28
28
  export { ProductData, ProductProvider, ProductProviderProps, PublicProductFetchResult, fetchPublicProduct, useProduct, useProductConfig } from './product/index.js';
@@ -72,7 +72,7 @@ declare function CareersSubmissionForm({ productName, recaptchaSiteKey, postings
72
72
  * site's `llms-full.txt`, so a field renamed here breaks 37 site builds and the corpus at
73
73
  * once — change the generator and this file together, never one of them alone.
74
74
  *
75
- * Canonical source: `dev/platform/context/concepts/01-architecture.md` → "Contracts".
75
+ * Canonical source: `dev/platform/context/publishing/concepts/01-architecture.md` → "Contracts".
76
76
  */
77
77
 
78
78
  /** The frame a mockup was drawn for. Drives nothing but layout hints. */
@@ -166,6 +166,25 @@ type ConceptLinkComponent = ComponentType<ConceptLinkProps>;
166
166
  * picture shows the shipping product.
167
167
  */
168
168
  declare const CONCEPT_ILLUSTRATION_NOTICE = "These images are illustrations of the concept, not screenshots of the actual product.";
169
+ /**
170
+ * The disclaimer shown above every concept's "How it works" steps.
171
+ *
172
+ * A numbered list under that heading reads as a procedure — the sequence of screens a
173
+ * visitor would click through — when what it actually describes is how the pieces of the
174
+ * concept relate. The illustration notice covers the pictures; nothing covered the steps,
175
+ * so the most instruction-shaped part of the page was the least qualified.
176
+ *
177
+ * Rendered with NO data gate, exactly like CONCEPT_ILLUSTRATION_NOTICE. Keying a
178
+ * disclosure to a generated field is how it disappears silently the first time a
179
+ * generator omits that field, and the page would then look more authoritative, not less.
180
+ * The section's own `workflow.length > 0` check is the only condition: no steps, no
181
+ * heading, nothing to qualify.
182
+ *
183
+ * The sentence says nothing about launch or availability. Every product behind these
184
+ * pages is generally available, and a notice that hinted otherwise would be false on
185
+ * every site that renders it.
186
+ */
187
+ declare const CONCEPT_WORKFLOW_NOTICE = "These steps illustrate how the concept fits together \u2014 not a walkthrough of the product's current interface.";
169
188
  /** Where every industry solution is listed. */
170
189
  declare const DOMAINS_URL = "https://burdenoff.com/domains";
171
190
  /** The landing page route. */
@@ -264,7 +283,7 @@ declare function ConceptDetailPage(props: ConceptDetailPageProps): react.JSX.Ele
264
283
  *
265
284
  * Each site ships a generated `src/data/answers.ts` exporting `ANSWERS`, `ANSWER_TOPICS` and
266
285
  * `ANSWERS_PRODUCT_NAME`, typed against these interfaces — the same arrangement the concept
267
- * pages use (`dev/platform/context/concepts/01-architecture.md`). A field renamed here changes
286
+ * pages use (`dev/platform/context/publishing/concepts/01-architecture.md`). A field renamed here changes
268
287
  * every site's generated data module, so change the generator and this file together.
269
288
  */
270
289
 
@@ -295,7 +314,7 @@ interface PublishedAnswer {
295
314
  * The answer, as GitHub-flavoured markdown — exactly what the harness returned.
296
315
  *
297
316
  * It can contain GFM tables (a comparison or a plan list comes back as one; see
298
- * `dev/platform/context/explore/CONTRACT.md` §7), links and concept illustrations, so it is
317
+ * `dev/platform/context/publishing/explore/CONTRACT.md` §7), links and concept illustrations, so it is
299
318
  * rendered by the SAME renderer the chat uses and not by a second one.
300
319
  */
301
320
  answer: string;
@@ -815,4 +834,4 @@ declare const Textarea: react.ForwardRefExoticComponent<Omit<react.DetailedHTMLP
815
834
  */
816
835
  declare const ECOSYSTEM_PRODUCTS: WebsiteSwitcherProduct[];
817
836
 
818
- 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 };
837
+ 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, CONCEPT_WORKFLOW_NOTICE, 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.js CHANGED
@@ -4858,6 +4858,7 @@ function ElectronDownloadLink({
4858
4858
 
4859
4859
  // src/components/concepts-types.ts
4860
4860
  var CONCEPT_ILLUSTRATION_NOTICE = "These images are illustrations of the concept, not screenshots of the actual product.";
4861
+ var CONCEPT_WORKFLOW_NOTICE = "These steps illustrate how the concept fits together \u2014 not a walkthrough of the product's current interface.";
4861
4862
  var DOMAINS_URL = "https://burdenoff.com/domains";
4862
4863
  var CONCEPTS_PATH = "/concepts";
4863
4864
  var CONCEPT_PATH_PREFIX = "/concept";
@@ -5160,6 +5161,30 @@ function IllustrationNotice({ className }) {
5160
5161
  }
5161
5162
  );
5162
5163
  }
5164
+ function WorkflowNotice({ className }) {
5165
+ return /* @__PURE__ */ jsxRuntime.jsxs(
5166
+ "div",
5167
+ {
5168
+ role: "note",
5169
+ "data-concepts": "workflow-notice",
5170
+ "data-concepts-workflow-notice": "",
5171
+ className: cn(
5172
+ "mt-4 flex items-start gap-3 rounded-xl border border-border bg-muted/50 px-4 py-3 text-sm leading-relaxed text-muted-foreground",
5173
+ className
5174
+ ),
5175
+ children: [
5176
+ /* @__PURE__ */ jsxRuntime.jsx(
5177
+ lucideReact.Info,
5178
+ {
5179
+ "aria-hidden": "true",
5180
+ className: "mt-0.5 h-4 w-4 shrink-0 text-muted-foreground"
5181
+ }
5182
+ ),
5183
+ /* @__PURE__ */ jsxRuntime.jsx("p", { children: CONCEPT_WORKFLOW_NOTICE })
5184
+ ]
5185
+ }
5186
+ );
5187
+ }
5163
5188
  function IllustrationBadge({ className }) {
5164
5189
  return /* @__PURE__ */ jsxRuntime.jsx(
5165
5190
  "span",
@@ -5985,6 +6010,7 @@ function ConceptDetail({
5985
6010
  ] }) : null,
5986
6011
  concept.workflow.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("section", { "aria-labelledby": `${headingId}-workflow`, children: [
5987
6012
  /* @__PURE__ */ jsxRuntime.jsx("h2", { id: `${headingId}-workflow`, className: SECTION_HEADING, children: "How it works" }),
6013
+ /* @__PURE__ */ jsxRuntime.jsx(WorkflowNotice, {}),
5988
6014
  /* @__PURE__ */ jsxRuntime.jsx("ol", { role: "list", className: "mt-4 space-y-4", children: concept.workflow.map((step, index) => /* @__PURE__ */ jsxRuntime.jsxs(
5989
6015
  "li",
5990
6016
  {
@@ -19053,6 +19079,7 @@ exports.Button = Button;
19053
19079
  exports.CONCEPTS_PATH = CONCEPTS_PATH;
19054
19080
  exports.CONCEPT_ILLUSTRATION_NOTICE = CONCEPT_ILLUSTRATION_NOTICE;
19055
19081
  exports.CONCEPT_PATH_PREFIX = CONCEPT_PATH_PREFIX;
19082
+ exports.CONCEPT_WORKFLOW_NOTICE = CONCEPT_WORKFLOW_NOTICE;
19056
19083
  exports.CareersApplyForm = CareersApplyForm;
19057
19084
  exports.CareersSubmissionForm = CareersSubmissionForm;
19058
19085
  exports.CaseStudiesListPage = CaseStudiesListPage;