@reblu/site-blocks 0.25.0 → 0.27.0

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.cts CHANGED
@@ -322,8 +322,12 @@ declare function CourseDescription({ description, heading, headingLevel, heading
322
322
  type Guarantee = NonNullable<AcademyCourseDetail['refundGuarantee']>;
323
323
  /** Texts of {@link CoursePurchaseTerms}; replace any of them in the SITE's language. */
324
324
  interface CoursePurchaseTermsLabels {
325
- /** Shown when checkout asks for the withdrawal waiver. */
325
+ /** Shown when checkout asks for the digital-content withdrawal waiver. */
326
326
  withdrawalWaiver: ReactNode;
327
+ /** REB-1240: shown when checkout asks for the express request to start a training service. */
328
+ serviceStartRequest: ReactNode;
329
+ /** REB-1240: the tenant's exact box text, after the line of its kind. */
330
+ consentText: (text: string) => ReactNode;
327
331
  /** Months of access after enrolment. */
328
332
  accessDuration: (months: number) => ReactNode;
329
333
  /** The refund guarantee terms. */
@@ -332,8 +336,10 @@ interface CoursePurchaseTermsLabels {
332
336
  declare const DEFAULT_COURSE_PURCHASE_TERMS_LABELS: CoursePurchaseTermsLabels;
333
337
  /**
334
338
  * `CoursePurchaseTerms` — the drop-in for what a buyer must see before paying
335
- * for a course (`client.academy.bySlug()`), REB-1199:
336
- * `withdrawalWaiverRequired`, `accessDurationMonths` and `refundGuarantee`.
339
+ * for a course (`client.academy.bySlug()`), REB-1199/REB-1240:
340
+ * `withdrawalConsent` (the box the course's modality calls for, with the
341
+ * tenant's text; `withdrawalWaiverRequired` against an API that predates it),
342
+ * `accessDurationMonths` and `refundGuarantee`.
337
343
  *
338
344
  * Server Component, RSC-safe: no hooks, no state, no `'use client'`.
339
345
  *
@@ -343,7 +349,7 @@ declare const DEFAULT_COURSE_PURCHASE_TERMS_LABELS: CoursePurchaseTermsLabels;
343
349
  */
344
350
  interface CoursePurchaseTermsProps {
345
351
  /** The fields of `AcademyCourseDetail` this block reads (all optional). */
346
- course: Partial<Pick<AcademyCourseDetail, 'withdrawalWaiverRequired' | 'accessDurationMonths' | 'refundGuarantee'>>;
352
+ course: Partial<Pick<AcademyCourseDetail, 'withdrawalWaiverRequired' | 'withdrawalConsent' | 'accessDurationMonths' | 'refundGuarantee'>>;
347
353
  /** Optional section heading, e.g. «Antes de comprar». */
348
354
  heading?: ReactNode;
349
355
  /** Level of `heading`. Defaults to `2`. */
@@ -360,6 +366,43 @@ interface CoursePurchaseTermsProps {
360
366
  }
361
367
  declare function CoursePurchaseTerms({ course, heading, headingLevel, headingId, labels, className, headingClassName, listClassName, }: CoursePurchaseTermsProps): react_jsx_runtime.JSX.Element | null;
362
368
 
369
+ /**
370
+ * `LegalDocument` — the drop-in for a legal page the tenant writes in nexus
371
+ * (`client.legal.get()`: `legalNotice`, `withdrawalPolicy`, `privacyPolicy`,
372
+ * `termsAndConditions`, `cookiePolicy`), REB-1201.
373
+ *
374
+ * Server Component, RSC-safe: no hooks, no state, no `'use client'`.
375
+ *
376
+ * Semantics:
377
+ * - The Markdown goes through the same sanitised pipeline as `MarkdownRenderer`;
378
+ * it is never rendered as raw HTML.
379
+ * - `title` is the SITE's own page title (its language, its words), rendered as
380
+ * the page's only `<h1>`; the document's shallowest heading lands at `<h2>`
381
+ * and every other heading keeps its depth (a withdrawal page's sections per
382
+ * purchase modality stay one level below the document heading).
383
+ * - `null`, blank, or content the sanitiser empties render `fallback` under the
384
+ * title — or NOTHING when no `fallback` is given. The block never invents
385
+ * legal copy: what a page says when the tenant has not written it is the
386
+ * SITE's decision.
387
+ */
388
+ interface LegalDocumentProps {
389
+ /** The Markdown as served, e.g. `legal.withdrawalPolicy` — may be `null` / `undefined`. */
390
+ content: string | null | undefined;
391
+ /** The page's `<h1>`, e.g. «Desistimiento y devoluciones». Omit when the page renders its own. */
392
+ title?: ReactNode;
393
+ /** What to show when there is no content, e.g. «Esta página aún no está disponible». */
394
+ fallback?: ReactNode;
395
+ /** `id` of the title element (the article's `aria-labelledby`). */
396
+ titleId?: string;
397
+ /** Classes for the `<article>`. */
398
+ className?: string;
399
+ /** Classes for the title. When given, they REPLACE the default `text-3xl font-bold` (REB-997). */
400
+ titleClassName?: string;
401
+ /** Classes for the rendered Markdown body. */
402
+ contentClassName?: string;
403
+ }
404
+ declare function LegalDocument({ content, title, fallback, titleId, className, titleClassName, contentClassName, }: LegalDocumentProps): react_jsx_runtime.JSX.Element | null;
405
+
363
406
  /**
364
407
  * `LessonPreview` — the drop-in for a PUBLIC free-preview lesson (REB-1135),
365
408
  * over `getLessonPreview()` (`@reblu/site-next/academy-server`), i.e.
@@ -1505,4 +1548,4 @@ interface OrderInvoiceLinkProps {
1505
1548
  }
1506
1549
  declare function OrderInvoiceLink({ invoice, labels, className }: OrderInvoiceLinkProps): react_jsx_runtime.JSX.Element | null;
1507
1550
 
1508
- export { ALLOWED_YOUTUBE_HOSTS, AddedToCartToast, type AddedToCartToastLabels, type AddedToCartToastProps, type AddedToCartToastStatus, type BlockRendererProps, type CanonicalBlockType, type CartAdjustmentLine, CartAdjustmentsNotice, type CartAdjustmentsNoticeLabels, type CartAdjustmentsNoticeProps, type CartLineItemView, CartLineList, type CartLineListLabels, type CartLineListProps, CartSummary, type CartSummaryLabels, type CartSummaryProps, type CheckoutAppliedDiscount, type CheckoutContactErrors, type CheckoutContactValues, CheckoutForm, type CheckoutFormLabels, type CheckoutFormProps, CheckoutLoginPrompt, type CheckoutLoginPromptLabels, type CheckoutLoginPromptProps, type ContactInterest, ContactInterestField, type ContactInterestFieldProps, CourseCatalogFilters, type CourseCatalogFiltersActive, type CourseCatalogFiltersHrefs, type CourseCatalogFiltersLabels, type CourseCatalogFiltersProps, type CourseCatalogPriceBand, CourseDescription, type CourseDescriptionProps, CoursePurchaseTerms, type CoursePurchaseTermsLabels, type CoursePurchaseTermsProps, DEFAULT_COURSE_CATALOG_FILTERS_LABELS, DEFAULT_COURSE_PRICE_BANDS, DEFAULT_COURSE_PURCHASE_TERMS_LABELS, DEFAULT_INVOICE_COUNTRIES, DEFAULT_LESSON_PREVIEW_LABELS, DEFAULT_SHOP_ERROR_FALLBACK_MESSAGE, DEFAULT_SHOP_ERROR_MESSAGES, DEFAULT_SHOP_PRICE_BANDS, DEFAULT_TRUST_BADGE_HEADINGS, DEFAULT_TRUST_BADGE_TYPE_ORDER, DEFAULT_TRUST_ICONS, EMPTY_FULL_INVOICE_VALUE, FaqAccordion, type FaqAccordionProps, FaqItem, type FullInvoiceErrors, FullInvoiceFields, type FullInvoiceFieldsLabels, type FullInvoiceFieldsProps, type FullInvoiceIdType, type FullInvoiceValue, HeadingLevel, LessonPreview, type LessonPreviewLabels, type LessonPreviewProps, type MarkdownImageOptions, MarkdownRenderer, type MarkdownRendererProps, OrderConfirmation, type OrderConfirmationLabels, type OrderConfirmationOrder, type OrderConfirmationProps, type OrderConfirmationStatus, OrderInvoiceLink, type OrderInvoiceLinkLabels, type OrderInvoiceLinkProps, PageBlocks, type PageBlocksComponents, type PageBlocksProps, PageCardGrid, type PageCardGridProps, ParentPage, type ParentPageProps, ProductCard, type ProductCardProps, ProductTrustItems, type ProductTrustItemsProps, ProfessionalFields, type ProfessionalFieldsProps, ProfileCard, type ProfileCardProps, type RenderableBlock, SafeHtml, type SafeHtmlProps, type ShareUrls, type ShopFilterPriceBand, ShopFilters, type ShopFiltersActive, type ShopFiltersHrefs, type ShopFiltersLabels, type ShopFiltersProps, Specialty, type SpecialtyProps, Treatment, type TreatmentProps, TrustBadges, type TrustBadgesProps, type TrustIconComponent, type TrustIconProps, buildShareUrls, formatPrice, getShopErrorMessage, isAllowedYouTubeHost, isOverSimplifiedInvoiceCap, markdownToSafeHtml, readingTime, sanitizeHtml, shopIssuesInvoices, shouldRenderShopFilters, toCheckoutInvoiceFields };
1551
+ export { ALLOWED_YOUTUBE_HOSTS, AddedToCartToast, type AddedToCartToastLabels, type AddedToCartToastProps, type AddedToCartToastStatus, type BlockRendererProps, type CanonicalBlockType, type CartAdjustmentLine, CartAdjustmentsNotice, type CartAdjustmentsNoticeLabels, type CartAdjustmentsNoticeProps, type CartLineItemView, CartLineList, type CartLineListLabels, type CartLineListProps, CartSummary, type CartSummaryLabels, type CartSummaryProps, type CheckoutAppliedDiscount, type CheckoutContactErrors, type CheckoutContactValues, CheckoutForm, type CheckoutFormLabels, type CheckoutFormProps, CheckoutLoginPrompt, type CheckoutLoginPromptLabels, type CheckoutLoginPromptProps, type ContactInterest, ContactInterestField, type ContactInterestFieldProps, CourseCatalogFilters, type CourseCatalogFiltersActive, type CourseCatalogFiltersHrefs, type CourseCatalogFiltersLabels, type CourseCatalogFiltersProps, type CourseCatalogPriceBand, CourseDescription, type CourseDescriptionProps, CoursePurchaseTerms, type CoursePurchaseTermsLabels, type CoursePurchaseTermsProps, DEFAULT_COURSE_CATALOG_FILTERS_LABELS, DEFAULT_COURSE_PRICE_BANDS, DEFAULT_COURSE_PURCHASE_TERMS_LABELS, DEFAULT_INVOICE_COUNTRIES, DEFAULT_LESSON_PREVIEW_LABELS, DEFAULT_SHOP_ERROR_FALLBACK_MESSAGE, DEFAULT_SHOP_ERROR_MESSAGES, DEFAULT_SHOP_PRICE_BANDS, DEFAULT_TRUST_BADGE_HEADINGS, DEFAULT_TRUST_BADGE_TYPE_ORDER, DEFAULT_TRUST_ICONS, EMPTY_FULL_INVOICE_VALUE, FaqAccordion, type FaqAccordionProps, FaqItem, type FullInvoiceErrors, FullInvoiceFields, type FullInvoiceFieldsLabels, type FullInvoiceFieldsProps, type FullInvoiceIdType, type FullInvoiceValue, HeadingLevel, LegalDocument, type LegalDocumentProps, LessonPreview, type LessonPreviewLabels, type LessonPreviewProps, type MarkdownImageOptions, MarkdownRenderer, type MarkdownRendererProps, OrderConfirmation, type OrderConfirmationLabels, type OrderConfirmationOrder, type OrderConfirmationProps, type OrderConfirmationStatus, OrderInvoiceLink, type OrderInvoiceLinkLabels, type OrderInvoiceLinkProps, PageBlocks, type PageBlocksComponents, type PageBlocksProps, PageCardGrid, type PageCardGridProps, ParentPage, type ParentPageProps, ProductCard, type ProductCardProps, ProductTrustItems, type ProductTrustItemsProps, ProfessionalFields, type ProfessionalFieldsProps, ProfileCard, type ProfileCardProps, type RenderableBlock, SafeHtml, type SafeHtmlProps, type ShareUrls, type ShopFilterPriceBand, ShopFilters, type ShopFiltersActive, type ShopFiltersHrefs, type ShopFiltersLabels, type ShopFiltersProps, Specialty, type SpecialtyProps, Treatment, type TreatmentProps, TrustBadges, type TrustBadgesProps, type TrustIconComponent, type TrustIconProps, buildShareUrls, formatPrice, getShopErrorMessage, isAllowedYouTubeHost, isOverSimplifiedInvoiceCap, markdownToSafeHtml, readingTime, sanitizeHtml, shopIssuesInvoices, shouldRenderShopFilters, toCheckoutInvoiceFields };
package/dist/index.d.ts CHANGED
@@ -322,8 +322,12 @@ declare function CourseDescription({ description, heading, headingLevel, heading
322
322
  type Guarantee = NonNullable<AcademyCourseDetail['refundGuarantee']>;
323
323
  /** Texts of {@link CoursePurchaseTerms}; replace any of them in the SITE's language. */
324
324
  interface CoursePurchaseTermsLabels {
325
- /** Shown when checkout asks for the withdrawal waiver. */
325
+ /** Shown when checkout asks for the digital-content withdrawal waiver. */
326
326
  withdrawalWaiver: ReactNode;
327
+ /** REB-1240: shown when checkout asks for the express request to start a training service. */
328
+ serviceStartRequest: ReactNode;
329
+ /** REB-1240: the tenant's exact box text, after the line of its kind. */
330
+ consentText: (text: string) => ReactNode;
327
331
  /** Months of access after enrolment. */
328
332
  accessDuration: (months: number) => ReactNode;
329
333
  /** The refund guarantee terms. */
@@ -332,8 +336,10 @@ interface CoursePurchaseTermsLabels {
332
336
  declare const DEFAULT_COURSE_PURCHASE_TERMS_LABELS: CoursePurchaseTermsLabels;
333
337
  /**
334
338
  * `CoursePurchaseTerms` — the drop-in for what a buyer must see before paying
335
- * for a course (`client.academy.bySlug()`), REB-1199:
336
- * `withdrawalWaiverRequired`, `accessDurationMonths` and `refundGuarantee`.
339
+ * for a course (`client.academy.bySlug()`), REB-1199/REB-1240:
340
+ * `withdrawalConsent` (the box the course's modality calls for, with the
341
+ * tenant's text; `withdrawalWaiverRequired` against an API that predates it),
342
+ * `accessDurationMonths` and `refundGuarantee`.
337
343
  *
338
344
  * Server Component, RSC-safe: no hooks, no state, no `'use client'`.
339
345
  *
@@ -343,7 +349,7 @@ declare const DEFAULT_COURSE_PURCHASE_TERMS_LABELS: CoursePurchaseTermsLabels;
343
349
  */
344
350
  interface CoursePurchaseTermsProps {
345
351
  /** The fields of `AcademyCourseDetail` this block reads (all optional). */
346
- course: Partial<Pick<AcademyCourseDetail, 'withdrawalWaiverRequired' | 'accessDurationMonths' | 'refundGuarantee'>>;
352
+ course: Partial<Pick<AcademyCourseDetail, 'withdrawalWaiverRequired' | 'withdrawalConsent' | 'accessDurationMonths' | 'refundGuarantee'>>;
347
353
  /** Optional section heading, e.g. «Antes de comprar». */
348
354
  heading?: ReactNode;
349
355
  /** Level of `heading`. Defaults to `2`. */
@@ -360,6 +366,43 @@ interface CoursePurchaseTermsProps {
360
366
  }
361
367
  declare function CoursePurchaseTerms({ course, heading, headingLevel, headingId, labels, className, headingClassName, listClassName, }: CoursePurchaseTermsProps): react_jsx_runtime.JSX.Element | null;
362
368
 
369
+ /**
370
+ * `LegalDocument` — the drop-in for a legal page the tenant writes in nexus
371
+ * (`client.legal.get()`: `legalNotice`, `withdrawalPolicy`, `privacyPolicy`,
372
+ * `termsAndConditions`, `cookiePolicy`), REB-1201.
373
+ *
374
+ * Server Component, RSC-safe: no hooks, no state, no `'use client'`.
375
+ *
376
+ * Semantics:
377
+ * - The Markdown goes through the same sanitised pipeline as `MarkdownRenderer`;
378
+ * it is never rendered as raw HTML.
379
+ * - `title` is the SITE's own page title (its language, its words), rendered as
380
+ * the page's only `<h1>`; the document's shallowest heading lands at `<h2>`
381
+ * and every other heading keeps its depth (a withdrawal page's sections per
382
+ * purchase modality stay one level below the document heading).
383
+ * - `null`, blank, or content the sanitiser empties render `fallback` under the
384
+ * title — or NOTHING when no `fallback` is given. The block never invents
385
+ * legal copy: what a page says when the tenant has not written it is the
386
+ * SITE's decision.
387
+ */
388
+ interface LegalDocumentProps {
389
+ /** The Markdown as served, e.g. `legal.withdrawalPolicy` — may be `null` / `undefined`. */
390
+ content: string | null | undefined;
391
+ /** The page's `<h1>`, e.g. «Desistimiento y devoluciones». Omit when the page renders its own. */
392
+ title?: ReactNode;
393
+ /** What to show when there is no content, e.g. «Esta página aún no está disponible». */
394
+ fallback?: ReactNode;
395
+ /** `id` of the title element (the article's `aria-labelledby`). */
396
+ titleId?: string;
397
+ /** Classes for the `<article>`. */
398
+ className?: string;
399
+ /** Classes for the title. When given, they REPLACE the default `text-3xl font-bold` (REB-997). */
400
+ titleClassName?: string;
401
+ /** Classes for the rendered Markdown body. */
402
+ contentClassName?: string;
403
+ }
404
+ declare function LegalDocument({ content, title, fallback, titleId, className, titleClassName, contentClassName, }: LegalDocumentProps): react_jsx_runtime.JSX.Element | null;
405
+
363
406
  /**
364
407
  * `LessonPreview` — the drop-in for a PUBLIC free-preview lesson (REB-1135),
365
408
  * over `getLessonPreview()` (`@reblu/site-next/academy-server`), i.e.
@@ -1505,4 +1548,4 @@ interface OrderInvoiceLinkProps {
1505
1548
  }
1506
1549
  declare function OrderInvoiceLink({ invoice, labels, className }: OrderInvoiceLinkProps): react_jsx_runtime.JSX.Element | null;
1507
1550
 
1508
- export { ALLOWED_YOUTUBE_HOSTS, AddedToCartToast, type AddedToCartToastLabels, type AddedToCartToastProps, type AddedToCartToastStatus, type BlockRendererProps, type CanonicalBlockType, type CartAdjustmentLine, CartAdjustmentsNotice, type CartAdjustmentsNoticeLabels, type CartAdjustmentsNoticeProps, type CartLineItemView, CartLineList, type CartLineListLabels, type CartLineListProps, CartSummary, type CartSummaryLabels, type CartSummaryProps, type CheckoutAppliedDiscount, type CheckoutContactErrors, type CheckoutContactValues, CheckoutForm, type CheckoutFormLabels, type CheckoutFormProps, CheckoutLoginPrompt, type CheckoutLoginPromptLabels, type CheckoutLoginPromptProps, type ContactInterest, ContactInterestField, type ContactInterestFieldProps, CourseCatalogFilters, type CourseCatalogFiltersActive, type CourseCatalogFiltersHrefs, type CourseCatalogFiltersLabels, type CourseCatalogFiltersProps, type CourseCatalogPriceBand, CourseDescription, type CourseDescriptionProps, CoursePurchaseTerms, type CoursePurchaseTermsLabels, type CoursePurchaseTermsProps, DEFAULT_COURSE_CATALOG_FILTERS_LABELS, DEFAULT_COURSE_PRICE_BANDS, DEFAULT_COURSE_PURCHASE_TERMS_LABELS, DEFAULT_INVOICE_COUNTRIES, DEFAULT_LESSON_PREVIEW_LABELS, DEFAULT_SHOP_ERROR_FALLBACK_MESSAGE, DEFAULT_SHOP_ERROR_MESSAGES, DEFAULT_SHOP_PRICE_BANDS, DEFAULT_TRUST_BADGE_HEADINGS, DEFAULT_TRUST_BADGE_TYPE_ORDER, DEFAULT_TRUST_ICONS, EMPTY_FULL_INVOICE_VALUE, FaqAccordion, type FaqAccordionProps, FaqItem, type FullInvoiceErrors, FullInvoiceFields, type FullInvoiceFieldsLabels, type FullInvoiceFieldsProps, type FullInvoiceIdType, type FullInvoiceValue, HeadingLevel, LessonPreview, type LessonPreviewLabels, type LessonPreviewProps, type MarkdownImageOptions, MarkdownRenderer, type MarkdownRendererProps, OrderConfirmation, type OrderConfirmationLabels, type OrderConfirmationOrder, type OrderConfirmationProps, type OrderConfirmationStatus, OrderInvoiceLink, type OrderInvoiceLinkLabels, type OrderInvoiceLinkProps, PageBlocks, type PageBlocksComponents, type PageBlocksProps, PageCardGrid, type PageCardGridProps, ParentPage, type ParentPageProps, ProductCard, type ProductCardProps, ProductTrustItems, type ProductTrustItemsProps, ProfessionalFields, type ProfessionalFieldsProps, ProfileCard, type ProfileCardProps, type RenderableBlock, SafeHtml, type SafeHtmlProps, type ShareUrls, type ShopFilterPriceBand, ShopFilters, type ShopFiltersActive, type ShopFiltersHrefs, type ShopFiltersLabels, type ShopFiltersProps, Specialty, type SpecialtyProps, Treatment, type TreatmentProps, TrustBadges, type TrustBadgesProps, type TrustIconComponent, type TrustIconProps, buildShareUrls, formatPrice, getShopErrorMessage, isAllowedYouTubeHost, isOverSimplifiedInvoiceCap, markdownToSafeHtml, readingTime, sanitizeHtml, shopIssuesInvoices, shouldRenderShopFilters, toCheckoutInvoiceFields };
1551
+ export { ALLOWED_YOUTUBE_HOSTS, AddedToCartToast, type AddedToCartToastLabels, type AddedToCartToastProps, type AddedToCartToastStatus, type BlockRendererProps, type CanonicalBlockType, type CartAdjustmentLine, CartAdjustmentsNotice, type CartAdjustmentsNoticeLabels, type CartAdjustmentsNoticeProps, type CartLineItemView, CartLineList, type CartLineListLabels, type CartLineListProps, CartSummary, type CartSummaryLabels, type CartSummaryProps, type CheckoutAppliedDiscount, type CheckoutContactErrors, type CheckoutContactValues, CheckoutForm, type CheckoutFormLabels, type CheckoutFormProps, CheckoutLoginPrompt, type CheckoutLoginPromptLabels, type CheckoutLoginPromptProps, type ContactInterest, ContactInterestField, type ContactInterestFieldProps, CourseCatalogFilters, type CourseCatalogFiltersActive, type CourseCatalogFiltersHrefs, type CourseCatalogFiltersLabels, type CourseCatalogFiltersProps, type CourseCatalogPriceBand, CourseDescription, type CourseDescriptionProps, CoursePurchaseTerms, type CoursePurchaseTermsLabels, type CoursePurchaseTermsProps, DEFAULT_COURSE_CATALOG_FILTERS_LABELS, DEFAULT_COURSE_PRICE_BANDS, DEFAULT_COURSE_PURCHASE_TERMS_LABELS, DEFAULT_INVOICE_COUNTRIES, DEFAULT_LESSON_PREVIEW_LABELS, DEFAULT_SHOP_ERROR_FALLBACK_MESSAGE, DEFAULT_SHOP_ERROR_MESSAGES, DEFAULT_SHOP_PRICE_BANDS, DEFAULT_TRUST_BADGE_HEADINGS, DEFAULT_TRUST_BADGE_TYPE_ORDER, DEFAULT_TRUST_ICONS, EMPTY_FULL_INVOICE_VALUE, FaqAccordion, type FaqAccordionProps, FaqItem, type FullInvoiceErrors, FullInvoiceFields, type FullInvoiceFieldsLabels, type FullInvoiceFieldsProps, type FullInvoiceIdType, type FullInvoiceValue, HeadingLevel, LegalDocument, type LegalDocumentProps, LessonPreview, type LessonPreviewLabels, type LessonPreviewProps, type MarkdownImageOptions, MarkdownRenderer, type MarkdownRendererProps, OrderConfirmation, type OrderConfirmationLabels, type OrderConfirmationOrder, type OrderConfirmationProps, type OrderConfirmationStatus, OrderInvoiceLink, type OrderInvoiceLinkLabels, type OrderInvoiceLinkProps, PageBlocks, type PageBlocksComponents, type PageBlocksProps, PageCardGrid, type PageCardGridProps, ParentPage, type ParentPageProps, ProductCard, type ProductCardProps, ProductTrustItems, type ProductTrustItemsProps, ProfessionalFields, type ProfessionalFieldsProps, ProfileCard, type ProfileCardProps, type RenderableBlock, SafeHtml, type SafeHtmlProps, type ShareUrls, type ShopFilterPriceBand, ShopFilters, type ShopFiltersActive, type ShopFiltersHrefs, type ShopFiltersLabels, type ShopFiltersProps, Specialty, type SpecialtyProps, Treatment, type TreatmentProps, TrustBadges, type TrustBadgesProps, type TrustIconComponent, type TrustIconProps, buildShareUrls, formatPrice, getShopErrorMessage, isAllowedYouTubeHost, isOverSimplifiedInvoiceCap, markdownToSafeHtml, readingTime, sanitizeHtml, shopIssuesInvoices, shouldRenderShopFilters, toCheckoutInvoiceFields };