@wix/web5-core 1.63.7 → 1.63.8
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/cjs/component/componentDefinitions/CalloutSectionDefinition.js +102 -5
- package/dist/cjs/component/componentDefinitions/CalloutSectionDefinition.js.map +1 -1
- package/dist/cjs/component/componentDefinitions/index.js +8 -2
- package/dist/cjs/component/componentDefinitions/index.js.map +1 -1
- package/dist/cjs/component/componentDefinitions/parse-utils.js +14 -6
- package/dist/cjs/component/componentDefinitions/parse-utils.js.map +1 -1
- package/dist/cjs/index.js +4 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/callout.js +11 -1
- package/dist/cjs/types/callout.js.map +1 -1
- package/dist/esm/component/componentDefinitions/CalloutSectionDefinition.js +104 -6
- package/dist/esm/component/componentDefinitions/CalloutSectionDefinition.js.map +1 -1
- package/dist/esm/component/componentDefinitions/index.js +8 -2
- package/dist/esm/component/componentDefinitions/index.js.map +1 -1
- package/dist/esm/component/componentDefinitions/parse-utils.js +14 -6
- package/dist/esm/component/componentDefinitions/parse-utils.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/callout.js +10 -0
- package/dist/esm/types/callout.js.map +1 -1
- package/dist/types/component/componentDefinitions/CalloutSectionDefinition.d.ts +37 -2
- package/dist/types/component/componentDefinitions/CalloutSectionDefinition.d.ts.map +1 -1
- package/dist/types/component/componentDefinitions/index.d.ts.map +1 -1
- package/dist/types/component/componentDefinitions/parse-utils.d.ts +8 -1
- package/dist/types/component/componentDefinitions/parse-utils.d.ts.map +1 -1
- package/dist/types/index.d.ts +3 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/types/callout.d.ts +11 -0
- package/dist/types/types/callout.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clients","require","exports","CLIENT_IDS","EXPERIMENT_IDS","_FeatureToggleContext","createFeatureToggleReader","FeatureToggleProvider","useFeatureToggles","useFeatureToggle","_parts","getPartsByType","getPartByRole","getAllByRole","getHeading","getImages","getLinks","extractContent","extractContentMarkdown","deriveRole","_sectionDefinition","DROP_SECTION","_diagnosticTypes","DIAGNOSTIC_TYPES","_imageSearchFilterTypes","buildImageSearchFilter","_imageSearchFilters","ImageSearchFilterToken","backgroundFilter","_componentDefinitions","HeroSectionDefinition","HeroEntitySectionDefinition","KpiSectionDefinition","FeatureCardsSectionDefinition","EntitySectionDefinition","EntityCollectionSectionDefinition","ComparisonSectionDefinition","TextBlockSectionDefinition","CtaBannerSectionDefinition","CalloutSectionDefinition","NextStepsSectionDefinition","FeatureSection9PlusDefinition","ListItemsSectionDefinition","SkipNodesSectionDefinition","HtmlCommentSectionDefinition","SearchSectionDefinition","ErrorSectionDefinition","FallbackSectionDefinition","createSdkRegistry","_registry","ComponentRegistry","_patternValidator","validatePattern","validatePatternSyntax","validatePatternWithBlocks","_markdownBlocks","convertToBlockElements","convertToBlockElementsWithMapping","_linkTypes","Web5UrlType","isWeb5AskUrl","isWeb5EntityUrl","isWeb5ImageUrl","isWeb5IconUrl","isWeb5ActionUrl","isWeb5SearchUrl","isWeb5Url","isNavigableUrl","isValidLinkUrl","isLegacyUrl","_entityLinkParser","parseWeb5Url","isValidWeb5Url","validateLinkUrl","isEntityLink","parseEntityLink","extractProtocol","extractLinkMetadata","_web5LinkValidator","findInvalidWeb5Links","_nodeMatchers","hasImage","isHtmlComment","_match","matchMarkdown","matchAllSections","nodesToParts","_ComponentDependenciesContext","ComponentDependenciesProvider","useComponentDependencies","_UserQueryContext","UserQueryProvider","useUserQuery","_ChipsContext","ChipsProvider","useChips","_entity","defaultExtractor","enrichEntitiesFromPayload","fetchEntityListData","listEntityItems","LIST_ITEMS_ENDPOINT","getEntityExtractor","registerEntityExtractor","transformToSolutionEntityData","transformToBlogPostEntityData","transformToGenericEntityData","toMatchedOptions","formatMoney","readCurrencyCode","formatPriceField","formatProductPriceLabel","_callout","CALLOUT_KINDS","_useWeb5Link","useWeb5Link","_useConversation","useConversation","_useDebugImageContext","useDebugImageContext","_useResolvedImageSources","useResolvedImageSources","_useResolveGenericEntityData","useResolveGenericEntityData","_useEntityTransforms","useEntityTransforms","_useMarkdownUtils","useMarkdownUtils","_useResolveShopifyEntityData","useResolveShopifyEntityData","_useResolveSearchSpringEntityData","useResolveSearchSpringEntityData","_searchspring","fetchProductsByHandles","fetchProductsByHandlesMap","transformSSProductToEntityItemData","_cart","addToCart","_shopify","ShopifyStorefrontClient","resolveShopifyConfig","resolveShopifyEntity","transformShopifyProduct","transformShopifyCollection","transformShopifyArticle","transformShopifyEntityToItemData","PRODUCT_BY_HANDLE_QUERY","COLLECTION_BY_HANDLE_QUERY","ARTICLE_BY_HANDLE_QUERY","_utils","cn","_imageUtils","normalizeImageUrl","getResizedImageUrl","_imageBackdrop","analyzeBackdrop","computeContentBBox","buildProbeUrl","loadImagePixels","loadBackdropAnalysis","_parseUtils","stripMarkdown","_colorUtils","rgbToHsl","hslToRgb","ensureMinLightness","toRgb","deriveDarkColor","deriveDarkGradient","deriveLightColor","_analyticsEvents","pushEvent","pushPromptSubmit","pushLinkClick","pushError","pushExit","pushEntityFiltered","hasAnalyticsConsent","_errors","ERROR_MARKDOWN","getErrorTypeFromStatus","createErrorMarkdown","STREAMING_TIMEOUT_MS","DEFAULT_ERROR_TEMPLATES","resolveErrorTemplate","_navigationStack","getForwardStack","setForwardStack","clearForwardStack","pushToForwardStack","popFromForwardStack","_UserQuery","UserQuery","_productBackHandoff","PRODUCT_BACK_SESSION_KEY","writeProductBackHandoff","readProductBackHandoff","_PromptEntryEmptyState","PromptEntryEmptyState","_SearchSection","SearchSection","_FeedbackBar","FeedbackBar","_Disclaimer","Disclaimer","_BottomContainer","BottomContainer","_MarkdownText","MarkdownText","_CalloutBlock","CalloutBlock","_OptimizedImage","OptimizedImage","_SectionSkeleton","SectionSkeleton","_SmartIcon","SmartIcon","_Loader","Loader","_PlacementLoader","PlacementLoader","_UnifiedLink","UnifiedLink","detectLinkType","LinkType","_table","Table","TableHeader","TableBody","TableFooter","TableHead","TableRow","TableCell","TableCaption","_userQueryEvent","WEB5_USER_QUERY_EVENT","_answerUpdatedEvent","WEB5_ANSWER_UPDATED_EVENT","_redirectEvent","WEB5_REDIRECT_EVENT","_loadClientBundle","loadClientBundle","_clientBundleOverride","getClientBundleOverride","isTrustedBundleHost","_clientBundleUrl","TEMPLATES_CDN_BASE","TEMPLATES_MANIFEST_URL","getTemplateOverride","isTemplatePickerRequested","isValidTemplateId","resolveClientBundleUrl","_mergeClientConfig","mergeClientConfig","_applyThemeOverrides","applyThemeOverrides","THEME_OVERRIDE_TOKENS","_tokenContract","THEME_TOKEN_CONTRACT","BRAND_TOKENS","EDITABLE_TOKENS","TOKEN_NAME_PATTERN","bucketOf","hostAliasFor","_themeDebug","isThemeDebugEnabled","THEME_DEBUG_KEY","THEME_DEBUG_QUERY_PARAM","_colorFormat","hexToHslTriplet","hslTripletToHex","isHslTriplet","_PlacementResponseRenderer","PlacementResponseRenderer","PlacementSmoothHeight","_buildPlacementDependencies","buildPlacementDependencies","_PlacementPayloadContext","PlacementPayloadProvider","usePlacementPayload","_unifiedMarkdownParser","UnifiedMarkdownParser","parseMarkdownToAst","parseAstToMarkdown","_markdownPreprocessor","escapeWeb5Links","fixMalformedLinks","trimTrailingWhitespace","normalizeIconUrls","decodeLinkText","preprocessMarkdown","_componentTracking","ComponentTracking","_contentKeywordMatcher","findKeywordsInContent","getContextualImageFilename","_intentExtractor","extractIntentFromMarkdown","getIntentFromMarkdown","_propsExtractor","createPageSection","generateSectionId","generateId","findImageInNode","findImageInChildren","_diagnosticsCollector","DiagnosticsCollector","_refreshPrompts","REFRESH_PROMPTS_UNTIL_KEY","REFRESH_PROMPTS_WINDOW_MS","getRefreshPromptsExpiry","shouldRefreshPrompts","enableRefreshPrompts","disableRefreshPrompts","_backendEnvironment","BACKEND_ENVIRONMENT_KEY","BACKEND_ENVIRONMENT_QUERY_PARAM","DEFAULT_BACKEND_ENVIRONMENT","getBackendEnvironment","setBackendEnvironment","usesStagingBackend","_simulation","isSimulationTraffic","_matchDebug","MATCH_DEBUG_KEY","MATCH_DEBUG_QUERY_PARAM","isMatchDebugEnabled","setMatchDebug","resetMatchDebugCache","logMatchDebug","_wixAuthFetch","createWixAuthFetch","_sessionManager","getOrCreateSessionId","getSessionId","getChatId","startNewChatId","setChatId","resetChatIdForTests","_componentParser","parseMarkdownToComponents","tryParseComponent","mergeSectionsWithStableReferences","_hostScope","WEB5_ROOT_ID","WEB5_ROOT_CLASS","WEB5_SCOPES","WEB5_SCOPE","WEB5_GLOBAL_TOKENS"],"sources":["../../src/index.ts"],"sourcesContent":["// Client IDs and experiment IDs\nexport { CLIENT_IDS, EXPERIMENT_IDS } from './clients';\n\nexport {\n type EmbedFeatureToggleResult,\n type FeatureToggleReader,\n createFeatureToggleReader,\n FeatureToggleProvider,\n useFeatureToggles,\n useFeatureToggle,\n} from './featureToggles/FeatureToggleContext';\n\n// Dev-only chrome injection contract for client packages\nexport type { DevEnvironment } from './client/devEnvironment';\n\n// Part types and helpers\nexport {\n type PartType,\n type Part,\n type HeadingPart,\n type ImagePart,\n type LinkPart,\n type ListPart,\n type ListItemPart,\n type KpiItemPart,\n type CardPart,\n type IconPart,\n type CalloutPart,\n type EntityPart,\n getPartsByType,\n getPartByRole,\n getAllByRole,\n getHeading,\n getImages,\n getLinks,\n extractContent,\n extractContentMarkdown,\n deriveRole,\n} from './parts/parts';\n\n// Component types\nexport type {\n BaseCompProps,\n SlotCompProps,\n SectionCompProps,\n SectionCompPropsWithSlot,\n TextCompProps,\n ButtonCompProps,\n ImageCompProps,\n BadgeCompProps,\n HeroButton,\n KpiItemCompProps,\n FeatureItemCompProps,\n FeatureCardCompProps,\n EntityItemData,\n EntityItem,\n GenericEntityData,\n GenericEntityCompProps,\n ComparisonRow,\n ComparisonColumn,\n AiNarrativeCompProps,\n HeroCompProps,\n HeroEntityCompProps,\n KpiCompProps,\n FeatureCardsCompProps,\n EntityCompProps,\n ComparisonCompProps,\n TextBlockCompProps,\n Component,\n BaseComponent,\n SlotComponent,\n SectionComponent,\n TextComponent,\n ButtonComponent,\n ImageComponent,\n BadgeComponent,\n KpiItemComponent,\n FeatureItemComponent,\n FeatureCardComponent,\n GenericEntityComponent,\n AiNarrativeComponent,\n ComparisonSectionComponent,\n TextBlockSectionComponent,\n HeroSectionComponent,\n HeroEntitySectionComponent,\n KpiSectionComponent,\n FeatureCardsSectionComponent,\n EntitySectionComponent,\n PropsOf,\n SectionFixture,\n CtaBannerCompProps,\n CtaBannerSectionComponent,\n CalloutCompProps,\n CalloutSectionComponent,\n NextStepsCompProps,\n NextStepsSectionComponent,\n FeatureSection9PlusCompProps,\n FeatureSection9PlusSectionComponent,\n ListItemsSectionCompProps,\n ListItemsSectionComponent,\n ErrorCompProps,\n ErrorSectionComponent,\n NullCompProps,\n NullSectionComponent,\n SolutionEntityCompProps,\n SolutionEntitySectionComponent,\n SolutionEntityData,\n BlogEntityCompProps,\n BlogEntitySectionComponent,\n BlogEntityData,\n GeneralTextCompProps,\n GeneralTextSectionComponent,\n PersonalizedNarrativeCompProps,\n PersonalizedNarrativeSectionComponent,\n} from './component/types';\n\n// Section definition\nexport type {\n SectionDefinition,\n ParseContext,\n ContextualImageResult,\n DropSection,\n} from './component/section-definition';\nexport { DROP_SECTION } from './component/section-definition';\n\n// Diagnostic types\nexport { DIAGNOSTIC_TYPES } from './component/diagnosticTypes';\nexport type { DiagnosticType } from './component/diagnosticTypes';\n\n// Image search filters\nexport {\n buildImageSearchFilter,\n type ImageSearchFilterString,\n} from './image/imageSearchFilterTypes';\nexport {\n ImageSearchFilterToken,\n backgroundFilter,\n} from './image/imageSearchFilters';\nexport type {\n ContextualImageAsset,\n ImageSourceInput,\n ResolvedImageSource,\n ResolvedImageSourceKind,\n} from './image/contextualImageTypes';\n\n// Section definition classes + createSdkRegistry\nexport {\n HeroSectionDefinition,\n HeroEntitySectionDefinition,\n KpiSectionDefinition,\n FeatureCardsSectionDefinition,\n EntitySectionDefinition,\n EntityCollectionSectionDefinition,\n ComparisonSectionDefinition,\n TextBlockSectionDefinition,\n CtaBannerSectionDefinition,\n CalloutSectionDefinition,\n NextStepsSectionDefinition,\n FeatureSection9PlusDefinition,\n ListItemsSectionDefinition,\n SkipNodesSectionDefinition,\n HtmlCommentSectionDefinition,\n SearchSectionDefinition,\n ErrorSectionDefinition,\n FallbackSectionDefinition,\n createSdkRegistry,\n} from './component/componentDefinitions';\n\n// Registry\nexport { ComponentRegistry } from './registry';\nexport type {\n SlotOptions,\n SectionOptions,\n SectionRegistration,\n SlotNode,\n SlotIntentNode,\n SectionIntentNode,\n SectionNode,\n SlotVariant,\n SectionVariant,\n RegistryCatalog,\n ActionResult,\n ActionHandler,\n} from './registry';\n\n// Pattern validator\nexport {\n validatePattern,\n validatePatternSyntax,\n validatePatternWithBlocks,\n type PatternValidationResult,\n type BlockElement,\n type EnrichedBlockElement,\n type LinkMetadata,\n type LinkAttribute,\n} from './patternValidator';\n\n// Markdown blocks\nexport {\n convertToBlockElements,\n convertToBlockElementsWithMapping,\n type BlockElementsWithMapping,\n} from './markdownBlocks';\n\n// Link types, enum & guards\nexport {\n Web5UrlType,\n type Web5AskUrl,\n type Web5EntityUrl,\n type Web5ImageUrl,\n type Web5IconUrl,\n type Web5ActionUrl,\n type Web5SearchUrl,\n type Web5Url,\n type HttpsUrl,\n type HttpUrl,\n type MailtoUrl,\n type RelativeUrl,\n type NavigableUrl,\n type ValidLinkUrl,\n type AnyKnownUrl,\n type LegacyUrl,\n isWeb5AskUrl,\n isWeb5EntityUrl,\n isWeb5ImageUrl,\n isWeb5IconUrl,\n isWeb5ActionUrl,\n isWeb5SearchUrl,\n isWeb5Url,\n isNavigableUrl,\n isValidLinkUrl,\n isLegacyUrl,\n} from './types/link-types';\n\n// Entity/URL parsing\nexport {\n parseWeb5Url,\n isValidWeb5Url,\n validateLinkUrl,\n type Web5UrlParsed,\n type Web5AskParsed,\n type Web5EntityParsed,\n type Web5ImageParsed,\n type Web5IconParsed,\n type Web5ActionParsed,\n type Web5SearchParsed,\n isEntityLink,\n parseEntityLink,\n extractProtocol,\n extractLinkMetadata,\n} from './utils/entityLinkParser';\n\n// Web5 link validation\nexport {\n findInvalidWeb5Links,\n type InvalidWeb5Link,\n} from './utils/web5LinkValidator';\n\n// Node matchers\nexport { hasImage, isHtmlComment } from './utils/nodeMatchers';\n\n// Match API\nexport {\n matchMarkdown,\n type MarkdownMatchResult,\n matchAllSections,\n type MatchAllSectionsResult,\n nodesToParts,\n} from './match';\n\n// ---------------------------------------------------------------------------\n// DI Infrastructure (moved from @wix/w5-client-circana)\n// ---------------------------------------------------------------------------\n\n// DI context and provider\nexport {\n ComponentDependenciesProvider,\n useComponentDependencies,\n type ComponentDependenciesProviderProps,\n} from './context/ComponentDependenciesContext';\n\n// Raw user query for the current response page\nexport {\n UserQueryProvider,\n useUserQuery,\n type UserQueryProviderProps,\n} from './context/UserQueryContext';\n\n// Chips context (suggestion chips shared between SearchSection and error states)\nexport {\n ChipsProvider,\n useChips,\n type SuggestionChip,\n} from './context/ChipsContext';\n\n// DI types\nexport type {\n ComponentDependencies,\n Web5LinkApi,\n ConversationApi,\n SendMessageTrackingOptions,\n SendMessageOptions,\n ComparisonSubmitPayload,\n ComparisonSelectedProduct,\n ProductComparisonSelectionState,\n ProductComparisonApi,\n EntityTransforms,\n MarkdownUtils,\n ResolveGenericEntityDataOptions,\n} from './types/dependencies';\nexport type {\n ApiPayloadItem,\n EntityTypeConfig,\n EntityConfig,\n EntityExtractionContext,\n} from './types/entity';\nexport {\n defaultExtractor,\n enrichEntitiesFromPayload,\n fetchEntityListData,\n listEntityItems,\n LIST_ITEMS_ENDPOINT,\n getEntityExtractor,\n registerEntityExtractor,\n transformToSolutionEntityData,\n transformToBlogPostEntityData,\n transformToGenericEntityData,\n toMatchedOptions,\n formatMoney,\n readCurrencyCode,\n formatPriceField,\n formatProductPriceLabel,\n} from './entity';\nexport type {\n EntityExtractor,\n FetchEntityListDataOptions,\n ListEntityItemsOptions,\n MatchedOption,\n ProductPriceFields,\n} from './entity';\nexport { CALLOUT_KINDS, type CalloutKind, type Callout } from './types/callout';\n\n// Wrapper hooks\nexport { useWeb5Link } from './hooks/useWeb5Link';\nexport { useConversation } from './hooks/useConversation';\nexport { useDebugImageContext } from './hooks/useDebugImageContext';\nexport { useResolvedImageSources } from './hooks/useResolvedImageSources';\nexport { useResolveGenericEntityData } from './hooks/useResolveGenericEntityData';\nexport { useEntityTransforms } from './hooks/useEntityTransforms';\nexport { useMarkdownUtils } from './hooks/useMarkdownUtils';\nexport { useResolveShopifyEntityData } from './hooks/useResolveShopifyEntityData';\nexport { useResolveSearchSpringEntityData } from './hooks/useResolveSearchSpringEntityData';\n\n// SearchSpring\nexport {\n fetchProductsByHandles,\n fetchProductsByHandlesMap,\n transformSSProductToEntityItemData,\n} from './services/searchspring';\nexport type {\n SearchSpringConfig,\n SSProduct,\n SSSearchResponse,\n SSSizeData,\n} from './services/searchspring';\n\n// Shopify Storefront API\n// Cart actions\nexport { addToCart } from './services/cart';\n\nexport {\n ShopifyStorefrontClient,\n resolveShopifyConfig,\n resolveShopifyEntity,\n transformShopifyProduct,\n transformShopifyCollection,\n transformShopifyArticle,\n transformShopifyEntityToItemData,\n PRODUCT_BY_HANDLE_QUERY,\n COLLECTION_BY_HANDLE_QUERY,\n ARTICLE_BY_HANDLE_QUERY,\n} from './services/shopify';\nexport type {\n ShopifyStorefrontConfig,\n ShopifyProduct,\n ShopifyCollection,\n ShopifyArticle,\n ShopifyImage,\n ShopifyMoneyV2,\n} from './services/shopify';\n\n// Utilities\nexport { cn } from './lib/utils';\nexport { normalizeImageUrl, getResizedImageUrl } from './utils/image-utils';\nexport {\n analyzeBackdrop,\n computeContentBBox,\n buildProbeUrl,\n loadImagePixels,\n loadBackdropAnalysis,\n type BackdropAnalysis,\n type ContentBBox,\n type ImagePixels,\n} from './utils/imageBackdrop';\nexport { stripMarkdown } from './component/componentDefinitions/parse-utils';\n\n// Color utilities\nexport {\n type RGB,\n rgbToHsl,\n hslToRgb,\n ensureMinLightness,\n toRgb,\n deriveDarkColor,\n deriveDarkGradient,\n deriveLightColor,\n} from './color/colorUtils';\n\n// Analytics\nexport {\n pushEvent,\n pushPromptSubmit,\n pushLinkClick,\n pushError,\n pushExit,\n pushEntityFiltered,\n hasAnalyticsConsent,\n type EntityFilteredReason,\n} from './utils/analyticsEvents';\n\n// Error handling types and utilities\nexport {\n type ConversationErrorType,\n ERROR_MARKDOWN,\n getErrorTypeFromStatus,\n createErrorMarkdown,\n STREAMING_TIMEOUT_MS,\n type ErrorActionType,\n type ErrorIconType,\n type ErrorTemplateButton,\n type ErrorTemplate,\n type ErrorTemplateOverrides,\n DEFAULT_ERROR_TEMPLATES,\n resolveErrorTemplate,\n} from './errors';\n\n// Navigation utilities\nexport {\n getForwardStack,\n setForwardStack,\n clearForwardStack,\n pushToForwardStack,\n popFromForwardStack,\n} from './utils/navigationStack';\n\n// UI components\nexport {\n UserQuery,\n type UserQueryProps,\n type ProductBackContext,\n} from './components/ui/UserQuery';\nexport {\n PRODUCT_BACK_SESSION_KEY,\n writeProductBackHandoff,\n readProductBackHandoff,\n type ProductBackHandoff,\n} from './utils/productBackHandoff';\nexport {\n PromptEntryEmptyState,\n type PromptEntryEmptyStateProps,\n} from './components/ui/PromptEntryEmptyState';\nexport {\n SearchSection,\n type SearchSectionProps,\n type SearchSectionHandle,\n type ScrollChip,\n} from './components/ui/SearchSection';\nexport {\n FeedbackBar,\n type FeedbackBarProps,\n type FeedbackCategoryOption,\n type FeedbackSentiment,\n type FeedbackSubmitInput,\n} from './components/ui/FeedbackBar';\nexport {\n Disclaimer,\n type DisclaimerProps,\n} from './components/ui/Disclaimer';\nexport {\n BottomContainer,\n type BottomContainerProps,\n} from './components/ui/BottomContainer';\nexport { MarkdownText } from './components/ui/MarkdownText';\nexport {\n CalloutBlock,\n type CalloutBlockProps,\n} from './components/ui/CalloutBlock';\nexport {\n OptimizedImage,\n type OptimizedImageProps,\n} from './components/ui/OptimizedImage';\nexport {\n SectionSkeleton,\n type SectionSkeletonProps,\n} from './components/ui/SectionSkeleton';\nexport { SmartIcon, type SmartIconProps } from './components/ui/SmartIcon';\nexport { Loader, type LoaderProps } from './components/ui/Loader';\nexport {\n PlacementLoader,\n type PlacementLoaderProps,\n} from './components/ui/PlacementLoader';\nexport {\n UnifiedLink,\n detectLinkType,\n type UnifiedLinkProps,\n LinkType,\n type LinkVariant,\n} from './components/ui/UnifiedLink';\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n} from './components/ui/table';\n\n// Placement (DL #088, DL #102 behavior declarations)\nexport type {\n PlacementBehaviorConfig,\n PlacementConfig,\n PlacementPrompts,\n} from './types/placement';\n\n// Cross-bundle user-query broadcast event (DL #097 D2)\nexport {\n WEB5_USER_QUERY_EVENT,\n type Web5UserQueryEventDetail,\n type Web5UserQueryEvent,\n} from './types/userQueryEvent';\n\n// Cross-bundle answer-updated broadcast event (B2B-4121)\nexport {\n WEB5_ANSWER_UPDATED_EVENT,\n type Web5AnswerUpdatedEventDetail,\n type Web5AnswerUpdatedEvent,\n} from './types/answerUpdatedEvent';\n\n// Cross-bundle redirect broadcast event (DL #098 D3)\nexport {\n WEB5_REDIRECT_EVENT,\n type Web5RedirectEventDetail,\n type Web5RedirectEvent,\n type Web5RedirectReason,\n} from './types/redirectEvent';\n// `placementFilter` was removed — hero/next-steps exclusion is the prompt's job\n// and placement-specific designs belong as `{ placement: true }` registry\n// variants (resolved automatically via `resolveSection(type, { placement: true })`).\n\n// Client bundle loader (DL #088 D3.3)\nexport { loadClientBundle } from './client/loadClientBundle';\n\n// `?clientBundleUrl=` dev override — shared by `web50-server-ui` and\n// `embed-placement` so the trusted-host gate can't drift between them.\nexport {\n getClientBundleOverride,\n isTrustedBundleHost,\n} from './client/clientBundleOverride';\n\n// Client-UMD URL resolution (DL #094 per-msid, DL #129 per-template) and the\n// universal bundle←backend config merge (DL #129 Q3/Q7) — shared by\n// `web50-server-ui` and `embed-placement`, the two client-bundle load sites.\nexport {\n TEMPLATES_CDN_BASE,\n TEMPLATES_MANIFEST_URL,\n getTemplateOverride,\n isTemplatePickerRequested,\n isValidTemplateId,\n resolveClientBundleUrl,\n} from './client/clientBundleUrl';\nexport { mergeClientConfig, type DeepPartial } from './client/mergeClientConfig';\nexport {\n applyThemeOverrides,\n THEME_OVERRIDE_TOKENS,\n type ThemeOverrideKey,\n type ThemeOverrides,\n} from './client/applyThemeOverrides';\nexport {\n THEME_TOKEN_CONTRACT,\n BRAND_TOKENS,\n EDITABLE_TOKENS,\n TOKEN_NAME_PATTERN,\n bucketOf,\n hostAliasFor,\n type TokenBucket,\n type TokenContractEntry,\n type TokenType,\n} from './theme/tokenContract';\nexport {\n isThemeDebugEnabled,\n THEME_DEBUG_KEY,\n THEME_DEBUG_QUERY_PARAM,\n type AppliedToken,\n type ThemeOverrideSource,\n} from './client/themeDebug';\nexport {\n hexToHslTriplet,\n hslTripletToHex,\n isHslTriplet,\n} from './theme/colorFormat';\n\n// Placement renderer + DI helper (DL #088 D3.2, D3.4)\nexport {\n PlacementResponseRenderer,\n PlacementSmoothHeight,\n type PlacementResponseRendererProps,\n type PlacementSection,\n type PlacementVariant,\n} from './components/placement/PlacementResponseRenderer';\nexport {\n buildPlacementDependencies,\n type BuildPlacementDependenciesOptions,\n} from './components/placement/buildPlacementDependencies';\nexport {\n PlacementPayloadProvider,\n usePlacementPayload,\n type PlacementPayloadContextValue,\n} from './components/placement/PlacementPayloadContext';\n\n// Markdown parsing utilities — lifted from web50-server-ui (DL #088 B9.1)\nexport {\n UnifiedMarkdownParser,\n parseMarkdownToAst,\n parseAstToMarkdown,\n} from './utils/unifiedMarkdownParser';\nexport {\n escapeWeb5Links,\n fixMalformedLinks,\n trimTrailingWhitespace,\n normalizeIconUrls,\n decodeLinkText,\n preprocessMarkdown,\n type PreprocessorDiagnostic,\n type PreprocessResult,\n} from './utils/markdownPreprocessor';\nexport {\n ComponentTracking,\n type ComponentNodeRange,\n} from './utils/componentTracking';\nexport {\n findKeywordsInContent,\n getContextualImageFilename,\n} from './utils/contentKeywordMatcher';\nexport {\n extractIntentFromMarkdown,\n getIntentFromMarkdown,\n type IntentInfo,\n type IntentExtractionOptions,\n type ResponseState,\n} from './utils/intentExtractor';\nexport type { PageSection } from './types/page-section';\nexport {\n createPageSection,\n generateSectionId,\n generateId,\n findImageInNode,\n findImageInChildren,\n type Product,\n type ComparisonProduct,\n type ProductComparisonSectionProps,\n} from './utils/propsExtractor';\nexport {\n DiagnosticsCollector,\n type DiagnosticEntry,\n} from './utils/diagnosticsCollector';\nexport {\n REFRESH_PROMPTS_UNTIL_KEY,\n REFRESH_PROMPTS_WINDOW_MS,\n getRefreshPromptsExpiry,\n shouldRefreshPrompts,\n enableRefreshPrompts,\n disableRefreshPrompts,\n} from './utils/refreshPrompts';\nexport {\n type BackendEnvironment,\n BACKEND_ENVIRONMENT_KEY,\n BACKEND_ENVIRONMENT_QUERY_PARAM,\n DEFAULT_BACKEND_ENVIRONMENT,\n getBackendEnvironment,\n setBackendEnvironment,\n usesStagingBackend,\n} from './utils/backendEnvironment';\nexport { isSimulationTraffic } from './utils/simulation';\nexport {\n MATCH_DEBUG_KEY,\n MATCH_DEBUG_QUERY_PARAM,\n isMatchDebugEnabled,\n setMatchDebug,\n resetMatchDebugCache,\n logMatchDebug,\n} from './utils/matchDebug';\nexport { createWixAuthFetch } from './client/wixAuthFetch';\nexport {\n getOrCreateSessionId,\n getSessionId,\n getChatId,\n startNewChatId,\n setChatId,\n resetChatIdForTests,\n} from './utils/sessionManager';\n\n// Component parser orchestrator — lifted from web50-server-ui (DL #088 B9.5)\nexport {\n parseMarkdownToComponents,\n tryParseComponent,\n mergeSectionsWithStableReferences,\n type ParseMarkdownOptions,\n type ParseMarkdownResult,\n type ComponentMatch,\n type ParserContext,\n} from './component/componentParser';\nexport type {\n ParserClientConfig,\n EnrichEntityProps,\n} from './component/parser-types';\n\n// Host-mount scope contract — shared by web50-server-ui (which stamps the\n// class and mounts), embed-placement (which mounts the same bundle elsewhere),\n// and the client CDN build (which compiles every selector against it).\nexport {\n WEB5_ROOT_ID,\n WEB5_ROOT_CLASS,\n WEB5_SCOPES,\n WEB5_SCOPE,\n WEB5_GLOBAL_TOKENS,\n type HostFitConfig,\n} from './hostScope';\n"],"mappings":";;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AAAuDC,OAAA,CAAAC,UAAA,GAAAH,QAAA,CAAAG,UAAA;AAAAD,OAAA,CAAAE,cAAA,GAAAJ,QAAA,CAAAI,cAAA;AAEvD,IAAAC,qBAAA,GAAAJ,OAAA;AAO+CC,OAAA,CAAAI,yBAAA,GAAAD,qBAAA,CAAAC,yBAAA;AAAAJ,OAAA,CAAAK,qBAAA,GAAAF,qBAAA,CAAAE,qBAAA;AAAAL,OAAA,CAAAM,iBAAA,GAAAH,qBAAA,CAAAG,iBAAA;AAAAN,OAAA,CAAAO,gBAAA,GAAAJ,qBAAA,CAAAI,gBAAA;AAM/C,IAAAC,MAAA,GAAAT,OAAA;AAsBuBC,OAAA,CAAAS,cAAA,GAAAD,MAAA,CAAAC,cAAA;AAAAT,OAAA,CAAAU,aAAA,GAAAF,MAAA,CAAAE,aAAA;AAAAV,OAAA,CAAAW,YAAA,GAAAH,MAAA,CAAAG,YAAA;AAAAX,OAAA,CAAAY,UAAA,GAAAJ,MAAA,CAAAI,UAAA;AAAAZ,OAAA,CAAAa,SAAA,GAAAL,MAAA,CAAAK,SAAA;AAAAb,OAAA,CAAAc,QAAA,GAAAN,MAAA,CAAAM,QAAA;AAAAd,OAAA,CAAAe,cAAA,GAAAP,MAAA,CAAAO,cAAA;AAAAf,OAAA,CAAAgB,sBAAA,GAAAR,MAAA,CAAAQ,sBAAA;AAAAhB,OAAA,CAAAiB,UAAA,GAAAT,MAAA,CAAAS,UAAA;AAqFvB,IAAAC,kBAAA,GAAAnB,OAAA;AAA8DC,OAAA,CAAAmB,YAAA,GAAAD,kBAAA,CAAAC,YAAA;AAG9D,IAAAC,gBAAA,GAAArB,OAAA;AAA+DC,OAAA,CAAAqB,gBAAA,GAAAD,gBAAA,CAAAC,gBAAA;AAI/D,IAAAC,uBAAA,GAAAvB,OAAA;AAGwCC,OAAA,CAAAuB,sBAAA,GAAAD,uBAAA,CAAAC,sBAAA;AACxC,IAAAC,mBAAA,GAAAzB,OAAA;AAGoCC,OAAA,CAAAyB,sBAAA,GAAAD,mBAAA,CAAAC,sBAAA;AAAAzB,OAAA,CAAA0B,gBAAA,GAAAF,mBAAA,CAAAE,gBAAA;AASpC,IAAAC,qBAAA,GAAA5B,OAAA;AAoB0CC,OAAA,CAAA4B,qBAAA,GAAAD,qBAAA,CAAAC,qBAAA;AAAA5B,OAAA,CAAA6B,2BAAA,GAAAF,qBAAA,CAAAE,2BAAA;AAAA7B,OAAA,CAAA8B,oBAAA,GAAAH,qBAAA,CAAAG,oBAAA;AAAA9B,OAAA,CAAA+B,6BAAA,GAAAJ,qBAAA,CAAAI,6BAAA;AAAA/B,OAAA,CAAAgC,uBAAA,GAAAL,qBAAA,CAAAK,uBAAA;AAAAhC,OAAA,CAAAiC,iCAAA,GAAAN,qBAAA,CAAAM,iCAAA;AAAAjC,OAAA,CAAAkC,2BAAA,GAAAP,qBAAA,CAAAO,2BAAA;AAAAlC,OAAA,CAAAmC,0BAAA,GAAAR,qBAAA,CAAAQ,0BAAA;AAAAnC,OAAA,CAAAoC,0BAAA,GAAAT,qBAAA,CAAAS,0BAAA;AAAApC,OAAA,CAAAqC,wBAAA,GAAAV,qBAAA,CAAAU,wBAAA;AAAArC,OAAA,CAAAsC,0BAAA,GAAAX,qBAAA,CAAAW,0BAAA;AAAAtC,OAAA,CAAAuC,6BAAA,GAAAZ,qBAAA,CAAAY,6BAAA;AAAAvC,OAAA,CAAAwC,0BAAA,GAAAb,qBAAA,CAAAa,0BAAA;AAAAxC,OAAA,CAAAyC,0BAAA,GAAAd,qBAAA,CAAAc,0BAAA;AAAAzC,OAAA,CAAA0C,4BAAA,GAAAf,qBAAA,CAAAe,4BAAA;AAAA1C,OAAA,CAAA2C,uBAAA,GAAAhB,qBAAA,CAAAgB,uBAAA;AAAA3C,OAAA,CAAA4C,sBAAA,GAAAjB,qBAAA,CAAAiB,sBAAA;AAAA5C,OAAA,CAAA6C,yBAAA,GAAAlB,qBAAA,CAAAkB,yBAAA;AAAA7C,OAAA,CAAA8C,iBAAA,GAAAnB,qBAAA,CAAAmB,iBAAA;AAG1C,IAAAC,SAAA,GAAAhD,OAAA;AAA+CC,OAAA,CAAAgD,iBAAA,GAAAD,SAAA,CAAAC,iBAAA;AAiB/C,IAAAC,iBAAA,GAAAlD,OAAA;AAS4BC,OAAA,CAAAkD,eAAA,GAAAD,iBAAA,CAAAC,eAAA;AAAAlD,OAAA,CAAAmD,qBAAA,GAAAF,iBAAA,CAAAE,qBAAA;AAAAnD,OAAA,CAAAoD,yBAAA,GAAAH,iBAAA,CAAAG,yBAAA;AAG5B,IAAAC,eAAA,GAAAtD,OAAA;AAI0BC,OAAA,CAAAsD,sBAAA,GAAAD,eAAA,CAAAC,sBAAA;AAAAtD,OAAA,CAAAuD,iCAAA,GAAAF,eAAA,CAAAE,iCAAA;AAG1B,IAAAC,UAAA,GAAAzD,OAAA;AA2B4BC,OAAA,CAAAyD,WAAA,GAAAD,UAAA,CAAAC,WAAA;AAAAzD,OAAA,CAAA0D,YAAA,GAAAF,UAAA,CAAAE,YAAA;AAAA1D,OAAA,CAAA2D,eAAA,GAAAH,UAAA,CAAAG,eAAA;AAAA3D,OAAA,CAAA4D,cAAA,GAAAJ,UAAA,CAAAI,cAAA;AAAA5D,OAAA,CAAA6D,aAAA,GAAAL,UAAA,CAAAK,aAAA;AAAA7D,OAAA,CAAA8D,eAAA,GAAAN,UAAA,CAAAM,eAAA;AAAA9D,OAAA,CAAA+D,eAAA,GAAAP,UAAA,CAAAO,eAAA;AAAA/D,OAAA,CAAAgE,SAAA,GAAAR,UAAA,CAAAQ,SAAA;AAAAhE,OAAA,CAAAiE,cAAA,GAAAT,UAAA,CAAAS,cAAA;AAAAjE,OAAA,CAAAkE,cAAA,GAAAV,UAAA,CAAAU,cAAA;AAAAlE,OAAA,CAAAmE,WAAA,GAAAX,UAAA,CAAAW,WAAA;AAG5B,IAAAC,iBAAA,GAAArE,OAAA;AAekCC,OAAA,CAAAqE,YAAA,GAAAD,iBAAA,CAAAC,YAAA;AAAArE,OAAA,CAAAsE,cAAA,GAAAF,iBAAA,CAAAE,cAAA;AAAAtE,OAAA,CAAAuE,eAAA,GAAAH,iBAAA,CAAAG,eAAA;AAAAvE,OAAA,CAAAwE,YAAA,GAAAJ,iBAAA,CAAAI,YAAA;AAAAxE,OAAA,CAAAyE,eAAA,GAAAL,iBAAA,CAAAK,eAAA;AAAAzE,OAAA,CAAA0E,eAAA,GAAAN,iBAAA,CAAAM,eAAA;AAAA1E,OAAA,CAAA2E,mBAAA,GAAAP,iBAAA,CAAAO,mBAAA;AAGlC,IAAAC,kBAAA,GAAA7E,OAAA;AAGmCC,OAAA,CAAA6E,oBAAA,GAAAD,kBAAA,CAAAC,oBAAA;AAGnC,IAAAC,aAAA,GAAA/E,OAAA;AAA+DC,OAAA,CAAA+E,QAAA,GAAAD,aAAA,CAAAC,QAAA;AAAA/E,OAAA,CAAAgF,aAAA,GAAAF,aAAA,CAAAE,aAAA;AAG/D,IAAAC,MAAA,GAAAlF,OAAA;AAMiBC,OAAA,CAAAkF,aAAA,GAAAD,MAAA,CAAAC,aAAA;AAAAlF,OAAA,CAAAmF,gBAAA,GAAAF,MAAA,CAAAE,gBAAA;AAAAnF,OAAA,CAAAoF,YAAA,GAAAH,MAAA,CAAAG,YAAA;AAOjB,IAAAC,6BAAA,GAAAtF,OAAA;AAIgDC,OAAA,CAAAsF,6BAAA,GAAAD,6BAAA,CAAAC,6BAAA;AAAAtF,OAAA,CAAAuF,wBAAA,GAAAF,6BAAA,CAAAE,wBAAA;AAGhD,IAAAC,iBAAA,GAAAzF,OAAA;AAIoCC,OAAA,CAAAyF,iBAAA,GAAAD,iBAAA,CAAAC,iBAAA;AAAAzF,OAAA,CAAA0F,YAAA,GAAAF,iBAAA,CAAAE,YAAA;AAGpC,IAAAC,aAAA,GAAA5F,OAAA;AAIgCC,OAAA,CAAA4F,aAAA,GAAAD,aAAA,CAAAC,aAAA;AAAA5F,OAAA,CAAA6F,QAAA,GAAAF,aAAA,CAAAE,QAAA;AAuBhC,IAAAC,OAAA,GAAA/F,OAAA;AAgBkBC,OAAA,CAAA+F,gBAAA,GAAAD,OAAA,CAAAC,gBAAA;AAAA/F,OAAA,CAAAgG,yBAAA,GAAAF,OAAA,CAAAE,yBAAA;AAAAhG,OAAA,CAAAiG,mBAAA,GAAAH,OAAA,CAAAG,mBAAA;AAAAjG,OAAA,CAAAkG,eAAA,GAAAJ,OAAA,CAAAI,eAAA;AAAAlG,OAAA,CAAAmG,mBAAA,GAAAL,OAAA,CAAAK,mBAAA;AAAAnG,OAAA,CAAAoG,kBAAA,GAAAN,OAAA,CAAAM,kBAAA;AAAApG,OAAA,CAAAqG,uBAAA,GAAAP,OAAA,CAAAO,uBAAA;AAAArG,OAAA,CAAAsG,6BAAA,GAAAR,OAAA,CAAAQ,6BAAA;AAAAtG,OAAA,CAAAuG,6BAAA,GAAAT,OAAA,CAAAS,6BAAA;AAAAvG,OAAA,CAAAwG,4BAAA,GAAAV,OAAA,CAAAU,4BAAA;AAAAxG,OAAA,CAAAyG,gBAAA,GAAAX,OAAA,CAAAW,gBAAA;AAAAzG,OAAA,CAAA0G,WAAA,GAAAZ,OAAA,CAAAY,WAAA;AAAA1G,OAAA,CAAA2G,gBAAA,GAAAb,OAAA,CAAAa,gBAAA;AAAA3G,OAAA,CAAA4G,gBAAA,GAAAd,OAAA,CAAAc,gBAAA;AAAA5G,OAAA,CAAA6G,uBAAA,GAAAf,OAAA,CAAAe,uBAAA;AAQlB,IAAAC,QAAA,GAAA/G,OAAA;AAAgFC,OAAA,CAAA+G,aAAA,GAAAD,QAAA,CAAAC,aAAA;AAGhF,IAAAC,YAAA,GAAAjH,OAAA;AAAkDC,OAAA,CAAAiH,WAAA,GAAAD,YAAA,CAAAC,WAAA;AAClD,IAAAC,gBAAA,GAAAnH,OAAA;AAA0DC,OAAA,CAAAmH,eAAA,GAAAD,gBAAA,CAAAC,eAAA;AAC1D,IAAAC,qBAAA,GAAArH,OAAA;AAAoEC,OAAA,CAAAqH,oBAAA,GAAAD,qBAAA,CAAAC,oBAAA;AACpE,IAAAC,wBAAA,GAAAvH,OAAA;AAA0EC,OAAA,CAAAuH,uBAAA,GAAAD,wBAAA,CAAAC,uBAAA;AAC1E,IAAAC,4BAAA,GAAAzH,OAAA;AAAkFC,OAAA,CAAAyH,2BAAA,GAAAD,4BAAA,CAAAC,2BAAA;AAClF,IAAAC,oBAAA,GAAA3H,OAAA;AAAkEC,OAAA,CAAA2H,mBAAA,GAAAD,oBAAA,CAAAC,mBAAA;AAClE,IAAAC,iBAAA,GAAA7H,OAAA;AAA4DC,OAAA,CAAA6H,gBAAA,GAAAD,iBAAA,CAAAC,gBAAA;AAC5D,IAAAC,4BAAA,GAAA/H,OAAA;AAAkFC,OAAA,CAAA+H,2BAAA,GAAAD,4BAAA,CAAAC,2BAAA;AAClF,IAAAC,iCAAA,GAAAjI,OAAA;AAA4FC,OAAA,CAAAiI,gCAAA,GAAAD,iCAAA,CAAAC,gCAAA;AAG5F,IAAAC,aAAA,GAAAnI,OAAA;AAIiCC,OAAA,CAAAmI,sBAAA,GAAAD,aAAA,CAAAC,sBAAA;AAAAnI,OAAA,CAAAoI,yBAAA,GAAAF,aAAA,CAAAE,yBAAA;AAAApI,OAAA,CAAAqI,kCAAA,GAAAH,aAAA,CAAAG,kCAAA;AAUjC,IAAAC,KAAA,GAAAvI,OAAA;AAA4CC,OAAA,CAAAuI,SAAA,GAAAD,KAAA,CAAAC,SAAA;AAE5C,IAAAC,QAAA,GAAAzI,OAAA;AAW4BC,OAAA,CAAAyI,uBAAA,GAAAD,QAAA,CAAAC,uBAAA;AAAAzI,OAAA,CAAA0I,oBAAA,GAAAF,QAAA,CAAAE,oBAAA;AAAA1I,OAAA,CAAA2I,oBAAA,GAAAH,QAAA,CAAAG,oBAAA;AAAA3I,OAAA,CAAA4I,uBAAA,GAAAJ,QAAA,CAAAI,uBAAA;AAAA5I,OAAA,CAAA6I,0BAAA,GAAAL,QAAA,CAAAK,0BAAA;AAAA7I,OAAA,CAAA8I,uBAAA,GAAAN,QAAA,CAAAM,uBAAA;AAAA9I,OAAA,CAAA+I,gCAAA,GAAAP,QAAA,CAAAO,gCAAA;AAAA/I,OAAA,CAAAgJ,uBAAA,GAAAR,QAAA,CAAAQ,uBAAA;AAAAhJ,OAAA,CAAAiJ,0BAAA,GAAAT,QAAA,CAAAS,0BAAA;AAAAjJ,OAAA,CAAAkJ,uBAAA,GAAAV,QAAA,CAAAU,uBAAA;AAW5B,IAAAC,MAAA,GAAApJ,OAAA;AAAiCC,OAAA,CAAAoJ,EAAA,GAAAD,MAAA,CAAAC,EAAA;AACjC,IAAAC,WAAA,GAAAtJ,OAAA;AAA4EC,OAAA,CAAAsJ,iBAAA,GAAAD,WAAA,CAAAC,iBAAA;AAAAtJ,OAAA,CAAAuJ,kBAAA,GAAAF,WAAA,CAAAE,kBAAA;AAC5E,IAAAC,cAAA,GAAAzJ,OAAA;AAS+BC,OAAA,CAAAyJ,eAAA,GAAAD,cAAA,CAAAC,eAAA;AAAAzJ,OAAA,CAAA0J,kBAAA,GAAAF,cAAA,CAAAE,kBAAA;AAAA1J,OAAA,CAAA2J,aAAA,GAAAH,cAAA,CAAAG,aAAA;AAAA3J,OAAA,CAAA4J,eAAA,GAAAJ,cAAA,CAAAI,eAAA;AAAA5J,OAAA,CAAA6J,oBAAA,GAAAL,cAAA,CAAAK,oBAAA;AAC/B,IAAAC,WAAA,GAAA/J,OAAA;AAA6EC,OAAA,CAAA+J,aAAA,GAAAD,WAAA,CAAAC,aAAA;AAG7E,IAAAC,WAAA,GAAAjK,OAAA;AAS4BC,OAAA,CAAAiK,QAAA,GAAAD,WAAA,CAAAC,QAAA;AAAAjK,OAAA,CAAAkK,QAAA,GAAAF,WAAA,CAAAE,QAAA;AAAAlK,OAAA,CAAAmK,kBAAA,GAAAH,WAAA,CAAAG,kBAAA;AAAAnK,OAAA,CAAAoK,KAAA,GAAAJ,WAAA,CAAAI,KAAA;AAAApK,OAAA,CAAAqK,eAAA,GAAAL,WAAA,CAAAK,eAAA;AAAArK,OAAA,CAAAsK,kBAAA,GAAAN,WAAA,CAAAM,kBAAA;AAAAtK,OAAA,CAAAuK,gBAAA,GAAAP,WAAA,CAAAO,gBAAA;AAG5B,IAAAC,gBAAA,GAAAzK,OAAA;AASiCC,OAAA,CAAAyK,SAAA,GAAAD,gBAAA,CAAAC,SAAA;AAAAzK,OAAA,CAAA0K,gBAAA,GAAAF,gBAAA,CAAAE,gBAAA;AAAA1K,OAAA,CAAA2K,aAAA,GAAAH,gBAAA,CAAAG,aAAA;AAAA3K,OAAA,CAAA4K,SAAA,GAAAJ,gBAAA,CAAAI,SAAA;AAAA5K,OAAA,CAAA6K,QAAA,GAAAL,gBAAA,CAAAK,QAAA;AAAA7K,OAAA,CAAA8K,kBAAA,GAAAN,gBAAA,CAAAM,kBAAA;AAAA9K,OAAA,CAAA+K,mBAAA,GAAAP,gBAAA,CAAAO,mBAAA;AAGjC,IAAAC,OAAA,GAAAjL,OAAA;AAakBC,OAAA,CAAAiL,cAAA,GAAAD,OAAA,CAAAC,cAAA;AAAAjL,OAAA,CAAAkL,sBAAA,GAAAF,OAAA,CAAAE,sBAAA;AAAAlL,OAAA,CAAAmL,mBAAA,GAAAH,OAAA,CAAAG,mBAAA;AAAAnL,OAAA,CAAAoL,oBAAA,GAAAJ,OAAA,CAAAI,oBAAA;AAAApL,OAAA,CAAAqL,uBAAA,GAAAL,OAAA,CAAAK,uBAAA;AAAArL,OAAA,CAAAsL,oBAAA,GAAAN,OAAA,CAAAM,oBAAA;AAGlB,IAAAC,gBAAA,GAAAxL,OAAA;AAMiCC,OAAA,CAAAwL,eAAA,GAAAD,gBAAA,CAAAC,eAAA;AAAAxL,OAAA,CAAAyL,eAAA,GAAAF,gBAAA,CAAAE,eAAA;AAAAzL,OAAA,CAAA0L,iBAAA,GAAAH,gBAAA,CAAAG,iBAAA;AAAA1L,OAAA,CAAA2L,kBAAA,GAAAJ,gBAAA,CAAAI,kBAAA;AAAA3L,OAAA,CAAA4L,mBAAA,GAAAL,gBAAA,CAAAK,mBAAA;AAGjC,IAAAC,UAAA,GAAA9L,OAAA;AAImCC,OAAA,CAAA8L,SAAA,GAAAD,UAAA,CAAAC,SAAA;AACnC,IAAAC,mBAAA,GAAAhM,OAAA;AAKoCC,OAAA,CAAAgM,wBAAA,GAAAD,mBAAA,CAAAC,wBAAA;AAAAhM,OAAA,CAAAiM,uBAAA,GAAAF,mBAAA,CAAAE,uBAAA;AAAAjM,OAAA,CAAAkM,sBAAA,GAAAH,mBAAA,CAAAG,sBAAA;AACpC,IAAAC,sBAAA,GAAApM,OAAA;AAG+CC,OAAA,CAAAoM,qBAAA,GAAAD,sBAAA,CAAAC,qBAAA;AAC/C,IAAAC,cAAA,GAAAtM,OAAA;AAKuCC,OAAA,CAAAsM,aAAA,GAAAD,cAAA,CAAAC,aAAA;AACvC,IAAAC,YAAA,GAAAxM,OAAA;AAMqCC,OAAA,CAAAwM,WAAA,GAAAD,YAAA,CAAAC,WAAA;AACrC,IAAAC,WAAA,GAAA1M,OAAA;AAGoCC,OAAA,CAAA0M,UAAA,GAAAD,WAAA,CAAAC,UAAA;AACpC,IAAAC,gBAAA,GAAA5M,OAAA;AAGyCC,OAAA,CAAA4M,eAAA,GAAAD,gBAAA,CAAAC,eAAA;AACzC,IAAAC,aAAA,GAAA9M,OAAA;AAA4DC,OAAA,CAAA8M,YAAA,GAAAD,aAAA,CAAAC,YAAA;AAC5D,IAAAC,aAAA,GAAAhN,OAAA;AAGsCC,OAAA,CAAAgN,YAAA,GAAAD,aAAA,CAAAC,YAAA;AACtC,IAAAC,eAAA,GAAAlN,OAAA;AAGwCC,OAAA,CAAAkN,cAAA,GAAAD,eAAA,CAAAC,cAAA;AACxC,IAAAC,gBAAA,GAAApN,OAAA;AAGyCC,OAAA,CAAAoN,eAAA,GAAAD,gBAAA,CAAAC,eAAA;AACzC,IAAAC,UAAA,GAAAtN,OAAA;AAA2EC,OAAA,CAAAsN,SAAA,GAAAD,UAAA,CAAAC,SAAA;AAC3E,IAAAC,OAAA,GAAAxN,OAAA;AAAkEC,OAAA,CAAAwN,MAAA,GAAAD,OAAA,CAAAC,MAAA;AAClE,IAAAC,gBAAA,GAAA1N,OAAA;AAGyCC,OAAA,CAAA0N,eAAA,GAAAD,gBAAA,CAAAC,eAAA;AACzC,IAAAC,YAAA,GAAA5N,OAAA;AAMqCC,OAAA,CAAA4N,WAAA,GAAAD,YAAA,CAAAC,WAAA;AAAA5N,OAAA,CAAA6N,cAAA,GAAAF,YAAA,CAAAE,cAAA;AAAA7N,OAAA,CAAA8N,QAAA,GAAAH,YAAA,CAAAG,QAAA;AACrC,IAAAC,MAAA,GAAAhO,OAAA;AAS+BC,OAAA,CAAAgO,KAAA,GAAAD,MAAA,CAAAC,KAAA;AAAAhO,OAAA,CAAAiO,WAAA,GAAAF,MAAA,CAAAE,WAAA;AAAAjO,OAAA,CAAAkO,SAAA,GAAAH,MAAA,CAAAG,SAAA;AAAAlO,OAAA,CAAAmO,WAAA,GAAAJ,MAAA,CAAAI,WAAA;AAAAnO,OAAA,CAAAoO,SAAA,GAAAL,MAAA,CAAAK,SAAA;AAAApO,OAAA,CAAAqO,QAAA,GAAAN,MAAA,CAAAM,QAAA;AAAArO,OAAA,CAAAsO,SAAA,GAAAP,MAAA,CAAAO,SAAA;AAAAtO,OAAA,CAAAuO,YAAA,GAAAR,MAAA,CAAAQ,YAAA;AAU/B,IAAAC,eAAA,GAAAzO,OAAA;AAIgCC,OAAA,CAAAyO,qBAAA,GAAAD,eAAA,CAAAC,qBAAA;AAGhC,IAAAC,mBAAA,GAAA3O,OAAA;AAIoCC,OAAA,CAAA2O,yBAAA,GAAAD,mBAAA,CAAAC,yBAAA;AAGpC,IAAAC,cAAA,GAAA7O,OAAA;AAK+BC,OAAA,CAAA6O,mBAAA,GAAAD,cAAA,CAAAC,mBAAA;AAM/B,IAAAC,iBAAA,GAAA/O,OAAA;AAA6DC,OAAA,CAAA+O,gBAAA,GAAAD,iBAAA,CAAAC,gBAAA;AAI7D,IAAAC,qBAAA,GAAAjP,OAAA;AAGuCC,OAAA,CAAAiP,uBAAA,GAAAD,qBAAA,CAAAC,uBAAA;AAAAjP,OAAA,CAAAkP,mBAAA,GAAAF,qBAAA,CAAAE,mBAAA;AAKvC,IAAAC,gBAAA,GAAApP,OAAA;AAOkCC,OAAA,CAAAoP,kBAAA,GAAAD,gBAAA,CAAAC,kBAAA;AAAApP,OAAA,CAAAqP,sBAAA,GAAAF,gBAAA,CAAAE,sBAAA;AAAArP,OAAA,CAAAsP,mBAAA,GAAAH,gBAAA,CAAAG,mBAAA;AAAAtP,OAAA,CAAAuP,yBAAA,GAAAJ,gBAAA,CAAAI,yBAAA;AAAAvP,OAAA,CAAAwP,iBAAA,GAAAL,gBAAA,CAAAK,iBAAA;AAAAxP,OAAA,CAAAyP,sBAAA,GAAAN,gBAAA,CAAAM,sBAAA;AAClC,IAAAC,kBAAA,GAAA3P,OAAA;AAAiFC,OAAA,CAAA2P,iBAAA,GAAAD,kBAAA,CAAAC,iBAAA;AACjF,IAAAC,oBAAA,GAAA7P,OAAA;AAKsCC,OAAA,CAAA6P,mBAAA,GAAAD,oBAAA,CAAAC,mBAAA;AAAA7P,OAAA,CAAA8P,qBAAA,GAAAF,oBAAA,CAAAE,qBAAA;AACtC,IAAAC,cAAA,GAAAhQ,OAAA;AAU+BC,OAAA,CAAAgQ,oBAAA,GAAAD,cAAA,CAAAC,oBAAA;AAAAhQ,OAAA,CAAAiQ,YAAA,GAAAF,cAAA,CAAAE,YAAA;AAAAjQ,OAAA,CAAAkQ,eAAA,GAAAH,cAAA,CAAAG,eAAA;AAAAlQ,OAAA,CAAAmQ,kBAAA,GAAAJ,cAAA,CAAAI,kBAAA;AAAAnQ,OAAA,CAAAoQ,QAAA,GAAAL,cAAA,CAAAK,QAAA;AAAApQ,OAAA,CAAAqQ,YAAA,GAAAN,cAAA,CAAAM,YAAA;AAC/B,IAAAC,WAAA,GAAAvQ,OAAA;AAM6BC,OAAA,CAAAuQ,mBAAA,GAAAD,WAAA,CAAAC,mBAAA;AAAAvQ,OAAA,CAAAwQ,eAAA,GAAAF,WAAA,CAAAE,eAAA;AAAAxQ,OAAA,CAAAyQ,uBAAA,GAAAH,WAAA,CAAAG,uBAAA;AAC7B,IAAAC,YAAA,GAAA3Q,OAAA;AAI6BC,OAAA,CAAA2Q,eAAA,GAAAD,YAAA,CAAAC,eAAA;AAAA3Q,OAAA,CAAA4Q,eAAA,GAAAF,YAAA,CAAAE,eAAA;AAAA5Q,OAAA,CAAA6Q,YAAA,GAAAH,YAAA,CAAAG,YAAA;AAG7B,IAAAC,0BAAA,GAAA/Q,OAAA;AAM0DC,OAAA,CAAA+Q,yBAAA,GAAAD,0BAAA,CAAAC,yBAAA;AAAA/Q,OAAA,CAAAgR,qBAAA,GAAAF,0BAAA,CAAAE,qBAAA;AAC1D,IAAAC,2BAAA,GAAAlR,OAAA;AAG2DC,OAAA,CAAAkR,0BAAA,GAAAD,2BAAA,CAAAC,0BAAA;AAC3D,IAAAC,wBAAA,GAAApR,OAAA;AAIwDC,OAAA,CAAAoR,wBAAA,GAAAD,wBAAA,CAAAC,wBAAA;AAAApR,OAAA,CAAAqR,mBAAA,GAAAF,wBAAA,CAAAE,mBAAA;AAGxD,IAAAC,sBAAA,GAAAvR,OAAA;AAIuCC,OAAA,CAAAuR,qBAAA,GAAAD,sBAAA,CAAAC,qBAAA;AAAAvR,OAAA,CAAAwR,kBAAA,GAAAF,sBAAA,CAAAE,kBAAA;AAAAxR,OAAA,CAAAyR,kBAAA,GAAAH,sBAAA,CAAAG,kBAAA;AACvC,IAAAC,qBAAA,GAAA3R,OAAA;AASsCC,OAAA,CAAA2R,eAAA,GAAAD,qBAAA,CAAAC,eAAA;AAAA3R,OAAA,CAAA4R,iBAAA,GAAAF,qBAAA,CAAAE,iBAAA;AAAA5R,OAAA,CAAA6R,sBAAA,GAAAH,qBAAA,CAAAG,sBAAA;AAAA7R,OAAA,CAAA8R,iBAAA,GAAAJ,qBAAA,CAAAI,iBAAA;AAAA9R,OAAA,CAAA+R,cAAA,GAAAL,qBAAA,CAAAK,cAAA;AAAA/R,OAAA,CAAAgS,kBAAA,GAAAN,qBAAA,CAAAM,kBAAA;AACtC,IAAAC,kBAAA,GAAAlS,OAAA;AAGmCC,OAAA,CAAAkS,iBAAA,GAAAD,kBAAA,CAAAC,iBAAA;AACnC,IAAAC,sBAAA,GAAApS,OAAA;AAGuCC,OAAA,CAAAoS,qBAAA,GAAAD,sBAAA,CAAAC,qBAAA;AAAApS,OAAA,CAAAqS,0BAAA,GAAAF,sBAAA,CAAAE,0BAAA;AACvC,IAAAC,gBAAA,GAAAvS,OAAA;AAMiCC,OAAA,CAAAuS,yBAAA,GAAAD,gBAAA,CAAAC,yBAAA;AAAAvS,OAAA,CAAAwS,qBAAA,GAAAF,gBAAA,CAAAE,qBAAA;AAEjC,IAAAC,eAAA,GAAA1S,OAAA;AASgCC,OAAA,CAAA0S,iBAAA,GAAAD,eAAA,CAAAC,iBAAA;AAAA1S,OAAA,CAAA2S,iBAAA,GAAAF,eAAA,CAAAE,iBAAA;AAAA3S,OAAA,CAAA4S,UAAA,GAAAH,eAAA,CAAAG,UAAA;AAAA5S,OAAA,CAAA6S,eAAA,GAAAJ,eAAA,CAAAI,eAAA;AAAA7S,OAAA,CAAA8S,mBAAA,GAAAL,eAAA,CAAAK,mBAAA;AAChC,IAAAC,qBAAA,GAAAhT,OAAA;AAGsCC,OAAA,CAAAgT,oBAAA,GAAAD,qBAAA,CAAAC,oBAAA;AACtC,IAAAC,eAAA,GAAAlT,OAAA;AAOgCC,OAAA,CAAAkT,yBAAA,GAAAD,eAAA,CAAAC,yBAAA;AAAAlT,OAAA,CAAAmT,yBAAA,GAAAF,eAAA,CAAAE,yBAAA;AAAAnT,OAAA,CAAAoT,uBAAA,GAAAH,eAAA,CAAAG,uBAAA;AAAApT,OAAA,CAAAqT,oBAAA,GAAAJ,eAAA,CAAAI,oBAAA;AAAArT,OAAA,CAAAsT,oBAAA,GAAAL,eAAA,CAAAK,oBAAA;AAAAtT,OAAA,CAAAuT,qBAAA,GAAAN,eAAA,CAAAM,qBAAA;AAChC,IAAAC,mBAAA,GAAAzT,OAAA;AAQoCC,OAAA,CAAAyT,uBAAA,GAAAD,mBAAA,CAAAC,uBAAA;AAAAzT,OAAA,CAAA0T,+BAAA,GAAAF,mBAAA,CAAAE,+BAAA;AAAA1T,OAAA,CAAA2T,2BAAA,GAAAH,mBAAA,CAAAG,2BAAA;AAAA3T,OAAA,CAAA4T,qBAAA,GAAAJ,mBAAA,CAAAI,qBAAA;AAAA5T,OAAA,CAAA6T,qBAAA,GAAAL,mBAAA,CAAAK,qBAAA;AAAA7T,OAAA,CAAA8T,kBAAA,GAAAN,mBAAA,CAAAM,kBAAA;AACpC,IAAAC,WAAA,GAAAhU,OAAA;AAAyDC,OAAA,CAAAgU,mBAAA,GAAAD,WAAA,CAAAC,mBAAA;AACzD,IAAAC,WAAA,GAAAlU,OAAA;AAO4BC,OAAA,CAAAkU,eAAA,GAAAD,WAAA,CAAAC,eAAA;AAAAlU,OAAA,CAAAmU,uBAAA,GAAAF,WAAA,CAAAE,uBAAA;AAAAnU,OAAA,CAAAoU,mBAAA,GAAAH,WAAA,CAAAG,mBAAA;AAAApU,OAAA,CAAAqU,aAAA,GAAAJ,WAAA,CAAAI,aAAA;AAAArU,OAAA,CAAAsU,oBAAA,GAAAL,WAAA,CAAAK,oBAAA;AAAAtU,OAAA,CAAAuU,aAAA,GAAAN,WAAA,CAAAM,aAAA;AAC5B,IAAAC,aAAA,GAAAzU,OAAA;AAA2DC,OAAA,CAAAyU,kBAAA,GAAAD,aAAA,CAAAC,kBAAA;AAC3D,IAAAC,eAAA,GAAA3U,OAAA;AAOgCC,OAAA,CAAA2U,oBAAA,GAAAD,eAAA,CAAAC,oBAAA;AAAA3U,OAAA,CAAA4U,YAAA,GAAAF,eAAA,CAAAE,YAAA;AAAA5U,OAAA,CAAA6U,SAAA,GAAAH,eAAA,CAAAG,SAAA;AAAA7U,OAAA,CAAA8U,cAAA,GAAAJ,eAAA,CAAAI,cAAA;AAAA9U,OAAA,CAAA+U,SAAA,GAAAL,eAAA,CAAAK,SAAA;AAAA/U,OAAA,CAAAgV,mBAAA,GAAAN,eAAA,CAAAM,mBAAA;AAGhC,IAAAC,gBAAA,GAAAlV,OAAA;AAQqCC,OAAA,CAAAkV,yBAAA,GAAAD,gBAAA,CAAAC,yBAAA;AAAAlV,OAAA,CAAAmV,iBAAA,GAAAF,gBAAA,CAAAE,iBAAA;AAAAnV,OAAA,CAAAoV,iCAAA,GAAAH,gBAAA,CAAAG,iCAAA;AASrC,IAAAC,UAAA,GAAAtV,OAAA;AAOqBC,OAAA,CAAAsV,YAAA,GAAAD,UAAA,CAAAC,YAAA;AAAAtV,OAAA,CAAAuV,eAAA,GAAAF,UAAA,CAAAE,eAAA;AAAAvV,OAAA,CAAAwV,WAAA,GAAAH,UAAA,CAAAG,WAAA;AAAAxV,OAAA,CAAAyV,UAAA,GAAAJ,UAAA,CAAAI,UAAA;AAAAzV,OAAA,CAAA0V,kBAAA,GAAAL,UAAA,CAAAK,kBAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_clients","require","exports","CLIENT_IDS","EXPERIMENT_IDS","_FeatureToggleContext","createFeatureToggleReader","FeatureToggleProvider","useFeatureToggles","useFeatureToggle","_parts","getPartsByType","getPartByRole","getAllByRole","getHeading","getImages","getLinks","extractContent","extractContentMarkdown","deriveRole","_sectionDefinition","DROP_SECTION","_diagnosticTypes","DIAGNOSTIC_TYPES","_imageSearchFilterTypes","buildImageSearchFilter","_imageSearchFilters","ImageSearchFilterToken","backgroundFilter","_componentDefinitions","HeroSectionDefinition","HeroEntitySectionDefinition","KpiSectionDefinition","FeatureCardsSectionDefinition","EntitySectionDefinition","EntityCollectionSectionDefinition","ComparisonSectionDefinition","TextBlockSectionDefinition","CtaBannerSectionDefinition","CalloutSectionDefinition","NextStepsSectionDefinition","FeatureSection9PlusDefinition","ListItemsSectionDefinition","SkipNodesSectionDefinition","HtmlCommentSectionDefinition","SearchSectionDefinition","ErrorSectionDefinition","FallbackSectionDefinition","createSdkRegistry","_registry","ComponentRegistry","_patternValidator","validatePattern","validatePatternSyntax","validatePatternWithBlocks","_markdownBlocks","convertToBlockElements","convertToBlockElementsWithMapping","_linkTypes","Web5UrlType","isWeb5AskUrl","isWeb5EntityUrl","isWeb5ImageUrl","isWeb5IconUrl","isWeb5ActionUrl","isWeb5SearchUrl","isWeb5Url","isNavigableUrl","isValidLinkUrl","isLegacyUrl","_entityLinkParser","parseWeb5Url","isValidWeb5Url","validateLinkUrl","isEntityLink","parseEntityLink","extractProtocol","extractLinkMetadata","_web5LinkValidator","findInvalidWeb5Links","_nodeMatchers","hasImage","isHtmlComment","_match","matchMarkdown","matchAllSections","nodesToParts","_ComponentDependenciesContext","ComponentDependenciesProvider","useComponentDependencies","_UserQueryContext","UserQueryProvider","useUserQuery","_ChipsContext","ChipsProvider","useChips","_entity","defaultExtractor","enrichEntitiesFromPayload","fetchEntityListData","listEntityItems","LIST_ITEMS_ENDPOINT","getEntityExtractor","registerEntityExtractor","transformToSolutionEntityData","transformToBlogPostEntityData","transformToGenericEntityData","toMatchedOptions","formatMoney","readCurrencyCode","formatPriceField","formatProductPriceLabel","_callout","CALLOUT_KINDS","CALLOUT_SEMANTICS","_useWeb5Link","useWeb5Link","_useConversation","useConversation","_useDebugImageContext","useDebugImageContext","_useResolvedImageSources","useResolvedImageSources","_useResolveGenericEntityData","useResolveGenericEntityData","_useEntityTransforms","useEntityTransforms","_useMarkdownUtils","useMarkdownUtils","_useResolveShopifyEntityData","useResolveShopifyEntityData","_useResolveSearchSpringEntityData","useResolveSearchSpringEntityData","_searchspring","fetchProductsByHandles","fetchProductsByHandlesMap","transformSSProductToEntityItemData","_cart","addToCart","_shopify","ShopifyStorefrontClient","resolveShopifyConfig","resolveShopifyEntity","transformShopifyProduct","transformShopifyCollection","transformShopifyArticle","transformShopifyEntityToItemData","PRODUCT_BY_HANDLE_QUERY","COLLECTION_BY_HANDLE_QUERY","ARTICLE_BY_HANDLE_QUERY","_utils","cn","_imageUtils","normalizeImageUrl","getResizedImageUrl","_imageBackdrop","analyzeBackdrop","computeContentBBox","buildProbeUrl","loadImagePixels","loadBackdropAnalysis","_parseUtils","stripMarkdown","_colorUtils","rgbToHsl","hslToRgb","ensureMinLightness","toRgb","deriveDarkColor","deriveDarkGradient","deriveLightColor","_analyticsEvents","pushEvent","pushPromptSubmit","pushLinkClick","pushError","pushExit","pushEntityFiltered","hasAnalyticsConsent","_errors","ERROR_MARKDOWN","getErrorTypeFromStatus","createErrorMarkdown","STREAMING_TIMEOUT_MS","DEFAULT_ERROR_TEMPLATES","resolveErrorTemplate","_navigationStack","getForwardStack","setForwardStack","clearForwardStack","pushToForwardStack","popFromForwardStack","_UserQuery","UserQuery","_productBackHandoff","PRODUCT_BACK_SESSION_KEY","writeProductBackHandoff","readProductBackHandoff","_PromptEntryEmptyState","PromptEntryEmptyState","_SearchSection","SearchSection","_FeedbackBar","FeedbackBar","_Disclaimer","Disclaimer","_BottomContainer","BottomContainer","_MarkdownText","MarkdownText","_CalloutBlock","CalloutBlock","_OptimizedImage","OptimizedImage","_SectionSkeleton","SectionSkeleton","_SmartIcon","SmartIcon","_Loader","Loader","_PlacementLoader","PlacementLoader","_UnifiedLink","UnifiedLink","detectLinkType","LinkType","_table","Table","TableHeader","TableBody","TableFooter","TableHead","TableRow","TableCell","TableCaption","_userQueryEvent","WEB5_USER_QUERY_EVENT","_answerUpdatedEvent","WEB5_ANSWER_UPDATED_EVENT","_redirectEvent","WEB5_REDIRECT_EVENT","_loadClientBundle","loadClientBundle","_clientBundleOverride","getClientBundleOverride","isTrustedBundleHost","_clientBundleUrl","TEMPLATES_CDN_BASE","TEMPLATES_MANIFEST_URL","getTemplateOverride","isTemplatePickerRequested","isValidTemplateId","resolveClientBundleUrl","_mergeClientConfig","mergeClientConfig","_applyThemeOverrides","applyThemeOverrides","THEME_OVERRIDE_TOKENS","_tokenContract","THEME_TOKEN_CONTRACT","BRAND_TOKENS","EDITABLE_TOKENS","TOKEN_NAME_PATTERN","bucketOf","hostAliasFor","_themeDebug","isThemeDebugEnabled","THEME_DEBUG_KEY","THEME_DEBUG_QUERY_PARAM","_colorFormat","hexToHslTriplet","hslTripletToHex","isHslTriplet","_PlacementResponseRenderer","PlacementResponseRenderer","PlacementSmoothHeight","_buildPlacementDependencies","buildPlacementDependencies","_PlacementPayloadContext","PlacementPayloadProvider","usePlacementPayload","_unifiedMarkdownParser","UnifiedMarkdownParser","parseMarkdownToAst","parseAstToMarkdown","_markdownPreprocessor","escapeWeb5Links","fixMalformedLinks","trimTrailingWhitespace","normalizeIconUrls","decodeLinkText","preprocessMarkdown","_componentTracking","ComponentTracking","_contentKeywordMatcher","findKeywordsInContent","getContextualImageFilename","_intentExtractor","extractIntentFromMarkdown","getIntentFromMarkdown","_propsExtractor","createPageSection","generateSectionId","generateId","findImageInNode","findImageInChildren","_diagnosticsCollector","DiagnosticsCollector","_refreshPrompts","REFRESH_PROMPTS_UNTIL_KEY","REFRESH_PROMPTS_WINDOW_MS","getRefreshPromptsExpiry","shouldRefreshPrompts","enableRefreshPrompts","disableRefreshPrompts","_backendEnvironment","BACKEND_ENVIRONMENT_KEY","BACKEND_ENVIRONMENT_QUERY_PARAM","DEFAULT_BACKEND_ENVIRONMENT","getBackendEnvironment","setBackendEnvironment","usesStagingBackend","_simulation","isSimulationTraffic","_matchDebug","MATCH_DEBUG_KEY","MATCH_DEBUG_QUERY_PARAM","isMatchDebugEnabled","setMatchDebug","resetMatchDebugCache","logMatchDebug","_wixAuthFetch","createWixAuthFetch","_sessionManager","getOrCreateSessionId","getSessionId","getChatId","startNewChatId","setChatId","resetChatIdForTests","_componentParser","parseMarkdownToComponents","tryParseComponent","mergeSectionsWithStableReferences","_hostScope","WEB5_ROOT_ID","WEB5_ROOT_CLASS","WEB5_SCOPES","WEB5_SCOPE","WEB5_GLOBAL_TOKENS"],"sources":["../../src/index.ts"],"sourcesContent":["// Client IDs and experiment IDs\nexport { CLIENT_IDS, EXPERIMENT_IDS } from './clients';\n\nexport {\n type EmbedFeatureToggleResult,\n type FeatureToggleReader,\n createFeatureToggleReader,\n FeatureToggleProvider,\n useFeatureToggles,\n useFeatureToggle,\n} from './featureToggles/FeatureToggleContext';\n\n// Dev-only chrome injection contract for client packages\nexport type { DevEnvironment } from './client/devEnvironment';\n\n// Part types and helpers\nexport {\n type PartType,\n type Part,\n type HeadingPart,\n type ImagePart,\n type LinkPart,\n type ListPart,\n type ListItemPart,\n type KpiItemPart,\n type CardPart,\n type IconPart,\n type CalloutPart,\n type EntityPart,\n getPartsByType,\n getPartByRole,\n getAllByRole,\n getHeading,\n getImages,\n getLinks,\n extractContent,\n extractContentMarkdown,\n deriveRole,\n} from './parts/parts';\n\n// Component types\nexport type {\n BaseCompProps,\n SlotCompProps,\n SectionCompProps,\n SectionCompPropsWithSlot,\n TextCompProps,\n ButtonCompProps,\n ImageCompProps,\n BadgeCompProps,\n HeroButton,\n KpiItemCompProps,\n FeatureItemCompProps,\n FeatureCardCompProps,\n EntityItemData,\n EntityItem,\n GenericEntityData,\n GenericEntityCompProps,\n ComparisonRow,\n ComparisonColumn,\n AiNarrativeCompProps,\n HeroCompProps,\n HeroEntityCompProps,\n KpiCompProps,\n FeatureCardsCompProps,\n EntityCompProps,\n ComparisonCompProps,\n TextBlockCompProps,\n Component,\n BaseComponent,\n SlotComponent,\n SectionComponent,\n TextComponent,\n ButtonComponent,\n ImageComponent,\n BadgeComponent,\n KpiItemComponent,\n FeatureItemComponent,\n FeatureCardComponent,\n GenericEntityComponent,\n AiNarrativeComponent,\n ComparisonSectionComponent,\n TextBlockSectionComponent,\n HeroSectionComponent,\n HeroEntitySectionComponent,\n KpiSectionComponent,\n FeatureCardsSectionComponent,\n EntitySectionComponent,\n PropsOf,\n SectionFixture,\n CtaBannerCompProps,\n CtaBannerSectionComponent,\n CalloutCompProps,\n CalloutSectionComponent,\n NextStepsCompProps,\n NextStepsSectionComponent,\n FeatureSection9PlusCompProps,\n FeatureSection9PlusSectionComponent,\n ListItemsSectionCompProps,\n ListItemsSectionComponent,\n ErrorCompProps,\n ErrorSectionComponent,\n NullCompProps,\n NullSectionComponent,\n SolutionEntityCompProps,\n SolutionEntitySectionComponent,\n SolutionEntityData,\n BlogEntityCompProps,\n BlogEntitySectionComponent,\n BlogEntityData,\n GeneralTextCompProps,\n GeneralTextSectionComponent,\n PersonalizedNarrativeCompProps,\n PersonalizedNarrativeSectionComponent,\n} from './component/types';\n\n// Section definition\nexport type {\n SectionDefinition,\n ParseContext,\n ContextualImageResult,\n DropSection,\n} from './component/section-definition';\nexport { DROP_SECTION } from './component/section-definition';\n\n// Diagnostic types\nexport { DIAGNOSTIC_TYPES } from './component/diagnosticTypes';\nexport type { DiagnosticType } from './component/diagnosticTypes';\n\n// Image search filters\nexport {\n buildImageSearchFilter,\n type ImageSearchFilterString,\n} from './image/imageSearchFilterTypes';\nexport {\n ImageSearchFilterToken,\n backgroundFilter,\n} from './image/imageSearchFilters';\nexport type {\n ContextualImageAsset,\n ImageSourceInput,\n ResolvedImageSource,\n ResolvedImageSourceKind,\n} from './image/contextualImageTypes';\n\n// Section definition classes + createSdkRegistry\nexport {\n HeroSectionDefinition,\n HeroEntitySectionDefinition,\n KpiSectionDefinition,\n FeatureCardsSectionDefinition,\n EntitySectionDefinition,\n EntityCollectionSectionDefinition,\n ComparisonSectionDefinition,\n TextBlockSectionDefinition,\n CtaBannerSectionDefinition,\n CalloutSectionDefinition,\n NextStepsSectionDefinition,\n FeatureSection9PlusDefinition,\n ListItemsSectionDefinition,\n SkipNodesSectionDefinition,\n HtmlCommentSectionDefinition,\n SearchSectionDefinition,\n ErrorSectionDefinition,\n FallbackSectionDefinition,\n createSdkRegistry,\n} from './component/componentDefinitions';\n\n// Registry\nexport { ComponentRegistry } from './registry';\nexport type {\n SlotOptions,\n SectionOptions,\n SectionRegistration,\n SlotNode,\n SlotIntentNode,\n SectionIntentNode,\n SectionNode,\n SlotVariant,\n SectionVariant,\n RegistryCatalog,\n ActionResult,\n ActionHandler,\n} from './registry';\n\n// Pattern validator\nexport {\n validatePattern,\n validatePatternSyntax,\n validatePatternWithBlocks,\n type PatternValidationResult,\n type BlockElement,\n type EnrichedBlockElement,\n type LinkMetadata,\n type LinkAttribute,\n} from './patternValidator';\n\n// Markdown blocks\nexport {\n convertToBlockElements,\n convertToBlockElementsWithMapping,\n type BlockElementsWithMapping,\n} from './markdownBlocks';\n\n// Link types, enum & guards\nexport {\n Web5UrlType,\n type Web5AskUrl,\n type Web5EntityUrl,\n type Web5ImageUrl,\n type Web5IconUrl,\n type Web5ActionUrl,\n type Web5SearchUrl,\n type Web5Url,\n type HttpsUrl,\n type HttpUrl,\n type MailtoUrl,\n type RelativeUrl,\n type NavigableUrl,\n type ValidLinkUrl,\n type AnyKnownUrl,\n type LegacyUrl,\n isWeb5AskUrl,\n isWeb5EntityUrl,\n isWeb5ImageUrl,\n isWeb5IconUrl,\n isWeb5ActionUrl,\n isWeb5SearchUrl,\n isWeb5Url,\n isNavigableUrl,\n isValidLinkUrl,\n isLegacyUrl,\n} from './types/link-types';\n\n// Entity/URL parsing\nexport {\n parseWeb5Url,\n isValidWeb5Url,\n validateLinkUrl,\n type Web5UrlParsed,\n type Web5AskParsed,\n type Web5EntityParsed,\n type Web5ImageParsed,\n type Web5IconParsed,\n type Web5ActionParsed,\n type Web5SearchParsed,\n isEntityLink,\n parseEntityLink,\n extractProtocol,\n extractLinkMetadata,\n} from './utils/entityLinkParser';\n\n// Web5 link validation\nexport {\n findInvalidWeb5Links,\n type InvalidWeb5Link,\n} from './utils/web5LinkValidator';\n\n// Node matchers\nexport { hasImage, isHtmlComment } from './utils/nodeMatchers';\n\n// Match API\nexport {\n matchMarkdown,\n type MarkdownMatchResult,\n matchAllSections,\n type MatchAllSectionsResult,\n nodesToParts,\n} from './match';\n\n// ---------------------------------------------------------------------------\n// DI Infrastructure (moved from @wix/w5-client-circana)\n// ---------------------------------------------------------------------------\n\n// DI context and provider\nexport {\n ComponentDependenciesProvider,\n useComponentDependencies,\n type ComponentDependenciesProviderProps,\n} from './context/ComponentDependenciesContext';\n\n// Raw user query for the current response page\nexport {\n UserQueryProvider,\n useUserQuery,\n type UserQueryProviderProps,\n} from './context/UserQueryContext';\n\n// Chips context (suggestion chips shared between SearchSection and error states)\nexport {\n ChipsProvider,\n useChips,\n type SuggestionChip,\n} from './context/ChipsContext';\n\n// DI types\nexport type {\n ComponentDependencies,\n Web5LinkApi,\n ConversationApi,\n SendMessageTrackingOptions,\n SendMessageOptions,\n ComparisonSubmitPayload,\n ComparisonSelectedProduct,\n ProductComparisonSelectionState,\n ProductComparisonApi,\n EntityTransforms,\n MarkdownUtils,\n ResolveGenericEntityDataOptions,\n} from './types/dependencies';\nexport type {\n ApiPayloadItem,\n EntityTypeConfig,\n EntityConfig,\n EntityExtractionContext,\n} from './types/entity';\nexport {\n defaultExtractor,\n enrichEntitiesFromPayload,\n fetchEntityListData,\n listEntityItems,\n LIST_ITEMS_ENDPOINT,\n getEntityExtractor,\n registerEntityExtractor,\n transformToSolutionEntityData,\n transformToBlogPostEntityData,\n transformToGenericEntityData,\n toMatchedOptions,\n formatMoney,\n readCurrencyCode,\n formatPriceField,\n formatProductPriceLabel,\n} from './entity';\nexport type {\n EntityExtractor,\n FetchEntityListDataOptions,\n ListEntityItemsOptions,\n MatchedOption,\n ProductPriceFields,\n} from './entity';\nexport {\n CALLOUT_KINDS,\n CALLOUT_SEMANTICS,\n type CalloutKind,\n type CalloutSemantic,\n type Callout,\n} from './types/callout';\n\n// Wrapper hooks\nexport { useWeb5Link } from './hooks/useWeb5Link';\nexport { useConversation } from './hooks/useConversation';\nexport { useDebugImageContext } from './hooks/useDebugImageContext';\nexport { useResolvedImageSources } from './hooks/useResolvedImageSources';\nexport { useResolveGenericEntityData } from './hooks/useResolveGenericEntityData';\nexport { useEntityTransforms } from './hooks/useEntityTransforms';\nexport { useMarkdownUtils } from './hooks/useMarkdownUtils';\nexport { useResolveShopifyEntityData } from './hooks/useResolveShopifyEntityData';\nexport { useResolveSearchSpringEntityData } from './hooks/useResolveSearchSpringEntityData';\n\n// SearchSpring\nexport {\n fetchProductsByHandles,\n fetchProductsByHandlesMap,\n transformSSProductToEntityItemData,\n} from './services/searchspring';\nexport type {\n SearchSpringConfig,\n SSProduct,\n SSSearchResponse,\n SSSizeData,\n} from './services/searchspring';\n\n// Shopify Storefront API\n// Cart actions\nexport { addToCart } from './services/cart';\n\nexport {\n ShopifyStorefrontClient,\n resolveShopifyConfig,\n resolveShopifyEntity,\n transformShopifyProduct,\n transformShopifyCollection,\n transformShopifyArticle,\n transformShopifyEntityToItemData,\n PRODUCT_BY_HANDLE_QUERY,\n COLLECTION_BY_HANDLE_QUERY,\n ARTICLE_BY_HANDLE_QUERY,\n} from './services/shopify';\nexport type {\n ShopifyStorefrontConfig,\n ShopifyProduct,\n ShopifyCollection,\n ShopifyArticle,\n ShopifyImage,\n ShopifyMoneyV2,\n} from './services/shopify';\n\n// Utilities\nexport { cn } from './lib/utils';\nexport { normalizeImageUrl, getResizedImageUrl } from './utils/image-utils';\nexport {\n analyzeBackdrop,\n computeContentBBox,\n buildProbeUrl,\n loadImagePixels,\n loadBackdropAnalysis,\n type BackdropAnalysis,\n type ContentBBox,\n type ImagePixels,\n} from './utils/imageBackdrop';\nexport { stripMarkdown } from './component/componentDefinitions/parse-utils';\n\n// Color utilities\nexport {\n type RGB,\n rgbToHsl,\n hslToRgb,\n ensureMinLightness,\n toRgb,\n deriveDarkColor,\n deriveDarkGradient,\n deriveLightColor,\n} from './color/colorUtils';\n\n// Analytics\nexport {\n pushEvent,\n pushPromptSubmit,\n pushLinkClick,\n pushError,\n pushExit,\n pushEntityFiltered,\n hasAnalyticsConsent,\n type EntityFilteredReason,\n} from './utils/analyticsEvents';\n\n// Error handling types and utilities\nexport {\n type ConversationErrorType,\n ERROR_MARKDOWN,\n getErrorTypeFromStatus,\n createErrorMarkdown,\n STREAMING_TIMEOUT_MS,\n type ErrorActionType,\n type ErrorIconType,\n type ErrorTemplateButton,\n type ErrorTemplate,\n type ErrorTemplateOverrides,\n DEFAULT_ERROR_TEMPLATES,\n resolveErrorTemplate,\n} from './errors';\n\n// Navigation utilities\nexport {\n getForwardStack,\n setForwardStack,\n clearForwardStack,\n pushToForwardStack,\n popFromForwardStack,\n} from './utils/navigationStack';\n\n// UI components\nexport {\n UserQuery,\n type UserQueryProps,\n type ProductBackContext,\n} from './components/ui/UserQuery';\nexport {\n PRODUCT_BACK_SESSION_KEY,\n writeProductBackHandoff,\n readProductBackHandoff,\n type ProductBackHandoff,\n} from './utils/productBackHandoff';\nexport {\n PromptEntryEmptyState,\n type PromptEntryEmptyStateProps,\n} from './components/ui/PromptEntryEmptyState';\nexport {\n SearchSection,\n type SearchSectionProps,\n type SearchSectionHandle,\n type ScrollChip,\n} from './components/ui/SearchSection';\nexport {\n FeedbackBar,\n type FeedbackBarProps,\n type FeedbackCategoryOption,\n type FeedbackSentiment,\n type FeedbackSubmitInput,\n} from './components/ui/FeedbackBar';\nexport { Disclaimer, type DisclaimerProps } from './components/ui/Disclaimer';\nexport {\n BottomContainer,\n type BottomContainerProps,\n} from './components/ui/BottomContainer';\nexport { MarkdownText } from './components/ui/MarkdownText';\nexport {\n CalloutBlock,\n type CalloutBlockProps,\n} from './components/ui/CalloutBlock';\nexport {\n OptimizedImage,\n type OptimizedImageProps,\n} from './components/ui/OptimizedImage';\nexport {\n SectionSkeleton,\n type SectionSkeletonProps,\n} from './components/ui/SectionSkeleton';\nexport { SmartIcon, type SmartIconProps } from './components/ui/SmartIcon';\nexport { Loader, type LoaderProps } from './components/ui/Loader';\nexport {\n PlacementLoader,\n type PlacementLoaderProps,\n} from './components/ui/PlacementLoader';\nexport {\n UnifiedLink,\n detectLinkType,\n type UnifiedLinkProps,\n LinkType,\n type LinkVariant,\n} from './components/ui/UnifiedLink';\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n} from './components/ui/table';\n\n// Placement (DL #088, DL #102 behavior declarations)\nexport type {\n PlacementBehaviorConfig,\n PlacementConfig,\n PlacementPrompts,\n} from './types/placement';\n\n// Cross-bundle user-query broadcast event (DL #097 D2)\nexport {\n WEB5_USER_QUERY_EVENT,\n type Web5UserQueryEventDetail,\n type Web5UserQueryEvent,\n} from './types/userQueryEvent';\n\n// Cross-bundle answer-updated broadcast event (B2B-4121)\nexport {\n WEB5_ANSWER_UPDATED_EVENT,\n type Web5AnswerUpdatedEventDetail,\n type Web5AnswerUpdatedEvent,\n} from './types/answerUpdatedEvent';\n\n// Cross-bundle redirect broadcast event (DL #098 D3)\nexport {\n WEB5_REDIRECT_EVENT,\n type Web5RedirectEventDetail,\n type Web5RedirectEvent,\n type Web5RedirectReason,\n} from './types/redirectEvent';\n// `placementFilter` was removed — hero/next-steps exclusion is the prompt's job\n// and placement-specific designs belong as `{ placement: true }` registry\n// variants (resolved automatically via `resolveSection(type, { placement: true })`).\n\n// Client bundle loader (DL #088 D3.3)\nexport { loadClientBundle } from './client/loadClientBundle';\n\n// `?clientBundleUrl=` dev override — shared by `web50-server-ui` and\n// `embed-placement` so the trusted-host gate can't drift between them.\nexport {\n getClientBundleOverride,\n isTrustedBundleHost,\n} from './client/clientBundleOverride';\n\n// Client-UMD URL resolution (DL #094 per-msid, DL #129 per-template) and the\n// universal bundle←backend config merge (DL #129 Q3/Q7) — shared by\n// `web50-server-ui` and `embed-placement`, the two client-bundle load sites.\nexport {\n TEMPLATES_CDN_BASE,\n TEMPLATES_MANIFEST_URL,\n getTemplateOverride,\n isTemplatePickerRequested,\n isValidTemplateId,\n resolveClientBundleUrl,\n} from './client/clientBundleUrl';\nexport {\n mergeClientConfig,\n type DeepPartial,\n} from './client/mergeClientConfig';\nexport {\n applyThemeOverrides,\n THEME_OVERRIDE_TOKENS,\n type ThemeOverrideKey,\n type ThemeOverrides,\n} from './client/applyThemeOverrides';\nexport {\n THEME_TOKEN_CONTRACT,\n BRAND_TOKENS,\n EDITABLE_TOKENS,\n TOKEN_NAME_PATTERN,\n bucketOf,\n hostAliasFor,\n type TokenBucket,\n type TokenContractEntry,\n type TokenType,\n} from './theme/tokenContract';\nexport {\n isThemeDebugEnabled,\n THEME_DEBUG_KEY,\n THEME_DEBUG_QUERY_PARAM,\n type AppliedToken,\n type ThemeOverrideSource,\n} from './client/themeDebug';\nexport {\n hexToHslTriplet,\n hslTripletToHex,\n isHslTriplet,\n} from './theme/colorFormat';\n\n// Placement renderer + DI helper (DL #088 D3.2, D3.4)\nexport {\n PlacementResponseRenderer,\n PlacementSmoothHeight,\n type PlacementResponseRendererProps,\n type PlacementSection,\n type PlacementVariant,\n} from './components/placement/PlacementResponseRenderer';\nexport {\n buildPlacementDependencies,\n type BuildPlacementDependenciesOptions,\n} from './components/placement/buildPlacementDependencies';\nexport {\n PlacementPayloadProvider,\n usePlacementPayload,\n type PlacementPayloadContextValue,\n} from './components/placement/PlacementPayloadContext';\n\n// Markdown parsing utilities — lifted from web50-server-ui (DL #088 B9.1)\nexport {\n UnifiedMarkdownParser,\n parseMarkdownToAst,\n parseAstToMarkdown,\n} from './utils/unifiedMarkdownParser';\nexport {\n escapeWeb5Links,\n fixMalformedLinks,\n trimTrailingWhitespace,\n normalizeIconUrls,\n decodeLinkText,\n preprocessMarkdown,\n type PreprocessorDiagnostic,\n type PreprocessResult,\n} from './utils/markdownPreprocessor';\nexport {\n ComponentTracking,\n type ComponentNodeRange,\n} from './utils/componentTracking';\nexport {\n findKeywordsInContent,\n getContextualImageFilename,\n} from './utils/contentKeywordMatcher';\nexport {\n extractIntentFromMarkdown,\n getIntentFromMarkdown,\n type IntentInfo,\n type IntentExtractionOptions,\n type ResponseState,\n} from './utils/intentExtractor';\nexport type { PageSection } from './types/page-section';\nexport {\n createPageSection,\n generateSectionId,\n generateId,\n findImageInNode,\n findImageInChildren,\n type Product,\n type ComparisonProduct,\n type ProductComparisonSectionProps,\n} from './utils/propsExtractor';\nexport {\n DiagnosticsCollector,\n type DiagnosticEntry,\n} from './utils/diagnosticsCollector';\nexport {\n REFRESH_PROMPTS_UNTIL_KEY,\n REFRESH_PROMPTS_WINDOW_MS,\n getRefreshPromptsExpiry,\n shouldRefreshPrompts,\n enableRefreshPrompts,\n disableRefreshPrompts,\n} from './utils/refreshPrompts';\nexport {\n type BackendEnvironment,\n BACKEND_ENVIRONMENT_KEY,\n BACKEND_ENVIRONMENT_QUERY_PARAM,\n DEFAULT_BACKEND_ENVIRONMENT,\n getBackendEnvironment,\n setBackendEnvironment,\n usesStagingBackend,\n} from './utils/backendEnvironment';\nexport { isSimulationTraffic } from './utils/simulation';\nexport {\n MATCH_DEBUG_KEY,\n MATCH_DEBUG_QUERY_PARAM,\n isMatchDebugEnabled,\n setMatchDebug,\n resetMatchDebugCache,\n logMatchDebug,\n} from './utils/matchDebug';\nexport { createWixAuthFetch } from './client/wixAuthFetch';\nexport {\n getOrCreateSessionId,\n getSessionId,\n getChatId,\n startNewChatId,\n setChatId,\n resetChatIdForTests,\n} from './utils/sessionManager';\n\n// Component parser orchestrator — lifted from web50-server-ui (DL #088 B9.5)\nexport {\n parseMarkdownToComponents,\n tryParseComponent,\n mergeSectionsWithStableReferences,\n type ParseMarkdownOptions,\n type ParseMarkdownResult,\n type ComponentMatch,\n type ParserContext,\n} from './component/componentParser';\nexport type {\n ParserClientConfig,\n EnrichEntityProps,\n} from './component/parser-types';\n\n// Host-mount scope contract — shared by web50-server-ui (which stamps the\n// class and mounts), embed-placement (which mounts the same bundle elsewhere),\n// and the client CDN build (which compiles every selector against it).\nexport {\n WEB5_ROOT_ID,\n WEB5_ROOT_CLASS,\n WEB5_SCOPES,\n WEB5_SCOPE,\n WEB5_GLOBAL_TOKENS,\n type HostFitConfig,\n} from './hostScope';\n"],"mappings":";;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AAAuDC,OAAA,CAAAC,UAAA,GAAAH,QAAA,CAAAG,UAAA;AAAAD,OAAA,CAAAE,cAAA,GAAAJ,QAAA,CAAAI,cAAA;AAEvD,IAAAC,qBAAA,GAAAJ,OAAA;AAO+CC,OAAA,CAAAI,yBAAA,GAAAD,qBAAA,CAAAC,yBAAA;AAAAJ,OAAA,CAAAK,qBAAA,GAAAF,qBAAA,CAAAE,qBAAA;AAAAL,OAAA,CAAAM,iBAAA,GAAAH,qBAAA,CAAAG,iBAAA;AAAAN,OAAA,CAAAO,gBAAA,GAAAJ,qBAAA,CAAAI,gBAAA;AAM/C,IAAAC,MAAA,GAAAT,OAAA;AAsBuBC,OAAA,CAAAS,cAAA,GAAAD,MAAA,CAAAC,cAAA;AAAAT,OAAA,CAAAU,aAAA,GAAAF,MAAA,CAAAE,aAAA;AAAAV,OAAA,CAAAW,YAAA,GAAAH,MAAA,CAAAG,YAAA;AAAAX,OAAA,CAAAY,UAAA,GAAAJ,MAAA,CAAAI,UAAA;AAAAZ,OAAA,CAAAa,SAAA,GAAAL,MAAA,CAAAK,SAAA;AAAAb,OAAA,CAAAc,QAAA,GAAAN,MAAA,CAAAM,QAAA;AAAAd,OAAA,CAAAe,cAAA,GAAAP,MAAA,CAAAO,cAAA;AAAAf,OAAA,CAAAgB,sBAAA,GAAAR,MAAA,CAAAQ,sBAAA;AAAAhB,OAAA,CAAAiB,UAAA,GAAAT,MAAA,CAAAS,UAAA;AAqFvB,IAAAC,kBAAA,GAAAnB,OAAA;AAA8DC,OAAA,CAAAmB,YAAA,GAAAD,kBAAA,CAAAC,YAAA;AAG9D,IAAAC,gBAAA,GAAArB,OAAA;AAA+DC,OAAA,CAAAqB,gBAAA,GAAAD,gBAAA,CAAAC,gBAAA;AAI/D,IAAAC,uBAAA,GAAAvB,OAAA;AAGwCC,OAAA,CAAAuB,sBAAA,GAAAD,uBAAA,CAAAC,sBAAA;AACxC,IAAAC,mBAAA,GAAAzB,OAAA;AAGoCC,OAAA,CAAAyB,sBAAA,GAAAD,mBAAA,CAAAC,sBAAA;AAAAzB,OAAA,CAAA0B,gBAAA,GAAAF,mBAAA,CAAAE,gBAAA;AASpC,IAAAC,qBAAA,GAAA5B,OAAA;AAoB0CC,OAAA,CAAA4B,qBAAA,GAAAD,qBAAA,CAAAC,qBAAA;AAAA5B,OAAA,CAAA6B,2BAAA,GAAAF,qBAAA,CAAAE,2BAAA;AAAA7B,OAAA,CAAA8B,oBAAA,GAAAH,qBAAA,CAAAG,oBAAA;AAAA9B,OAAA,CAAA+B,6BAAA,GAAAJ,qBAAA,CAAAI,6BAAA;AAAA/B,OAAA,CAAAgC,uBAAA,GAAAL,qBAAA,CAAAK,uBAAA;AAAAhC,OAAA,CAAAiC,iCAAA,GAAAN,qBAAA,CAAAM,iCAAA;AAAAjC,OAAA,CAAAkC,2BAAA,GAAAP,qBAAA,CAAAO,2BAAA;AAAAlC,OAAA,CAAAmC,0BAAA,GAAAR,qBAAA,CAAAQ,0BAAA;AAAAnC,OAAA,CAAAoC,0BAAA,GAAAT,qBAAA,CAAAS,0BAAA;AAAApC,OAAA,CAAAqC,wBAAA,GAAAV,qBAAA,CAAAU,wBAAA;AAAArC,OAAA,CAAAsC,0BAAA,GAAAX,qBAAA,CAAAW,0BAAA;AAAAtC,OAAA,CAAAuC,6BAAA,GAAAZ,qBAAA,CAAAY,6BAAA;AAAAvC,OAAA,CAAAwC,0BAAA,GAAAb,qBAAA,CAAAa,0BAAA;AAAAxC,OAAA,CAAAyC,0BAAA,GAAAd,qBAAA,CAAAc,0BAAA;AAAAzC,OAAA,CAAA0C,4BAAA,GAAAf,qBAAA,CAAAe,4BAAA;AAAA1C,OAAA,CAAA2C,uBAAA,GAAAhB,qBAAA,CAAAgB,uBAAA;AAAA3C,OAAA,CAAA4C,sBAAA,GAAAjB,qBAAA,CAAAiB,sBAAA;AAAA5C,OAAA,CAAA6C,yBAAA,GAAAlB,qBAAA,CAAAkB,yBAAA;AAAA7C,OAAA,CAAA8C,iBAAA,GAAAnB,qBAAA,CAAAmB,iBAAA;AAG1C,IAAAC,SAAA,GAAAhD,OAAA;AAA+CC,OAAA,CAAAgD,iBAAA,GAAAD,SAAA,CAAAC,iBAAA;AAiB/C,IAAAC,iBAAA,GAAAlD,OAAA;AAS4BC,OAAA,CAAAkD,eAAA,GAAAD,iBAAA,CAAAC,eAAA;AAAAlD,OAAA,CAAAmD,qBAAA,GAAAF,iBAAA,CAAAE,qBAAA;AAAAnD,OAAA,CAAAoD,yBAAA,GAAAH,iBAAA,CAAAG,yBAAA;AAG5B,IAAAC,eAAA,GAAAtD,OAAA;AAI0BC,OAAA,CAAAsD,sBAAA,GAAAD,eAAA,CAAAC,sBAAA;AAAAtD,OAAA,CAAAuD,iCAAA,GAAAF,eAAA,CAAAE,iCAAA;AAG1B,IAAAC,UAAA,GAAAzD,OAAA;AA2B4BC,OAAA,CAAAyD,WAAA,GAAAD,UAAA,CAAAC,WAAA;AAAAzD,OAAA,CAAA0D,YAAA,GAAAF,UAAA,CAAAE,YAAA;AAAA1D,OAAA,CAAA2D,eAAA,GAAAH,UAAA,CAAAG,eAAA;AAAA3D,OAAA,CAAA4D,cAAA,GAAAJ,UAAA,CAAAI,cAAA;AAAA5D,OAAA,CAAA6D,aAAA,GAAAL,UAAA,CAAAK,aAAA;AAAA7D,OAAA,CAAA8D,eAAA,GAAAN,UAAA,CAAAM,eAAA;AAAA9D,OAAA,CAAA+D,eAAA,GAAAP,UAAA,CAAAO,eAAA;AAAA/D,OAAA,CAAAgE,SAAA,GAAAR,UAAA,CAAAQ,SAAA;AAAAhE,OAAA,CAAAiE,cAAA,GAAAT,UAAA,CAAAS,cAAA;AAAAjE,OAAA,CAAAkE,cAAA,GAAAV,UAAA,CAAAU,cAAA;AAAAlE,OAAA,CAAAmE,WAAA,GAAAX,UAAA,CAAAW,WAAA;AAG5B,IAAAC,iBAAA,GAAArE,OAAA;AAekCC,OAAA,CAAAqE,YAAA,GAAAD,iBAAA,CAAAC,YAAA;AAAArE,OAAA,CAAAsE,cAAA,GAAAF,iBAAA,CAAAE,cAAA;AAAAtE,OAAA,CAAAuE,eAAA,GAAAH,iBAAA,CAAAG,eAAA;AAAAvE,OAAA,CAAAwE,YAAA,GAAAJ,iBAAA,CAAAI,YAAA;AAAAxE,OAAA,CAAAyE,eAAA,GAAAL,iBAAA,CAAAK,eAAA;AAAAzE,OAAA,CAAA0E,eAAA,GAAAN,iBAAA,CAAAM,eAAA;AAAA1E,OAAA,CAAA2E,mBAAA,GAAAP,iBAAA,CAAAO,mBAAA;AAGlC,IAAAC,kBAAA,GAAA7E,OAAA;AAGmCC,OAAA,CAAA6E,oBAAA,GAAAD,kBAAA,CAAAC,oBAAA;AAGnC,IAAAC,aAAA,GAAA/E,OAAA;AAA+DC,OAAA,CAAA+E,QAAA,GAAAD,aAAA,CAAAC,QAAA;AAAA/E,OAAA,CAAAgF,aAAA,GAAAF,aAAA,CAAAE,aAAA;AAG/D,IAAAC,MAAA,GAAAlF,OAAA;AAMiBC,OAAA,CAAAkF,aAAA,GAAAD,MAAA,CAAAC,aAAA;AAAAlF,OAAA,CAAAmF,gBAAA,GAAAF,MAAA,CAAAE,gBAAA;AAAAnF,OAAA,CAAAoF,YAAA,GAAAH,MAAA,CAAAG,YAAA;AAOjB,IAAAC,6BAAA,GAAAtF,OAAA;AAIgDC,OAAA,CAAAsF,6BAAA,GAAAD,6BAAA,CAAAC,6BAAA;AAAAtF,OAAA,CAAAuF,wBAAA,GAAAF,6BAAA,CAAAE,wBAAA;AAGhD,IAAAC,iBAAA,GAAAzF,OAAA;AAIoCC,OAAA,CAAAyF,iBAAA,GAAAD,iBAAA,CAAAC,iBAAA;AAAAzF,OAAA,CAAA0F,YAAA,GAAAF,iBAAA,CAAAE,YAAA;AAGpC,IAAAC,aAAA,GAAA5F,OAAA;AAIgCC,OAAA,CAAA4F,aAAA,GAAAD,aAAA,CAAAC,aAAA;AAAA5F,OAAA,CAAA6F,QAAA,GAAAF,aAAA,CAAAE,QAAA;AAuBhC,IAAAC,OAAA,GAAA/F,OAAA;AAgBkBC,OAAA,CAAA+F,gBAAA,GAAAD,OAAA,CAAAC,gBAAA;AAAA/F,OAAA,CAAAgG,yBAAA,GAAAF,OAAA,CAAAE,yBAAA;AAAAhG,OAAA,CAAAiG,mBAAA,GAAAH,OAAA,CAAAG,mBAAA;AAAAjG,OAAA,CAAAkG,eAAA,GAAAJ,OAAA,CAAAI,eAAA;AAAAlG,OAAA,CAAAmG,mBAAA,GAAAL,OAAA,CAAAK,mBAAA;AAAAnG,OAAA,CAAAoG,kBAAA,GAAAN,OAAA,CAAAM,kBAAA;AAAApG,OAAA,CAAAqG,uBAAA,GAAAP,OAAA,CAAAO,uBAAA;AAAArG,OAAA,CAAAsG,6BAAA,GAAAR,OAAA,CAAAQ,6BAAA;AAAAtG,OAAA,CAAAuG,6BAAA,GAAAT,OAAA,CAAAS,6BAAA;AAAAvG,OAAA,CAAAwG,4BAAA,GAAAV,OAAA,CAAAU,4BAAA;AAAAxG,OAAA,CAAAyG,gBAAA,GAAAX,OAAA,CAAAW,gBAAA;AAAAzG,OAAA,CAAA0G,WAAA,GAAAZ,OAAA,CAAAY,WAAA;AAAA1G,OAAA,CAAA2G,gBAAA,GAAAb,OAAA,CAAAa,gBAAA;AAAA3G,OAAA,CAAA4G,gBAAA,GAAAd,OAAA,CAAAc,gBAAA;AAAA5G,OAAA,CAAA6G,uBAAA,GAAAf,OAAA,CAAAe,uBAAA;AAQlB,IAAAC,QAAA,GAAA/G,OAAA;AAMyBC,OAAA,CAAA+G,aAAA,GAAAD,QAAA,CAAAC,aAAA;AAAA/G,OAAA,CAAAgH,iBAAA,GAAAF,QAAA,CAAAE,iBAAA;AAGzB,IAAAC,YAAA,GAAAlH,OAAA;AAAkDC,OAAA,CAAAkH,WAAA,GAAAD,YAAA,CAAAC,WAAA;AAClD,IAAAC,gBAAA,GAAApH,OAAA;AAA0DC,OAAA,CAAAoH,eAAA,GAAAD,gBAAA,CAAAC,eAAA;AAC1D,IAAAC,qBAAA,GAAAtH,OAAA;AAAoEC,OAAA,CAAAsH,oBAAA,GAAAD,qBAAA,CAAAC,oBAAA;AACpE,IAAAC,wBAAA,GAAAxH,OAAA;AAA0EC,OAAA,CAAAwH,uBAAA,GAAAD,wBAAA,CAAAC,uBAAA;AAC1E,IAAAC,4BAAA,GAAA1H,OAAA;AAAkFC,OAAA,CAAA0H,2BAAA,GAAAD,4BAAA,CAAAC,2BAAA;AAClF,IAAAC,oBAAA,GAAA5H,OAAA;AAAkEC,OAAA,CAAA4H,mBAAA,GAAAD,oBAAA,CAAAC,mBAAA;AAClE,IAAAC,iBAAA,GAAA9H,OAAA;AAA4DC,OAAA,CAAA8H,gBAAA,GAAAD,iBAAA,CAAAC,gBAAA;AAC5D,IAAAC,4BAAA,GAAAhI,OAAA;AAAkFC,OAAA,CAAAgI,2BAAA,GAAAD,4BAAA,CAAAC,2BAAA;AAClF,IAAAC,iCAAA,GAAAlI,OAAA;AAA4FC,OAAA,CAAAkI,gCAAA,GAAAD,iCAAA,CAAAC,gCAAA;AAG5F,IAAAC,aAAA,GAAApI,OAAA;AAIiCC,OAAA,CAAAoI,sBAAA,GAAAD,aAAA,CAAAC,sBAAA;AAAApI,OAAA,CAAAqI,yBAAA,GAAAF,aAAA,CAAAE,yBAAA;AAAArI,OAAA,CAAAsI,kCAAA,GAAAH,aAAA,CAAAG,kCAAA;AAUjC,IAAAC,KAAA,GAAAxI,OAAA;AAA4CC,OAAA,CAAAwI,SAAA,GAAAD,KAAA,CAAAC,SAAA;AAE5C,IAAAC,QAAA,GAAA1I,OAAA;AAW4BC,OAAA,CAAA0I,uBAAA,GAAAD,QAAA,CAAAC,uBAAA;AAAA1I,OAAA,CAAA2I,oBAAA,GAAAF,QAAA,CAAAE,oBAAA;AAAA3I,OAAA,CAAA4I,oBAAA,GAAAH,QAAA,CAAAG,oBAAA;AAAA5I,OAAA,CAAA6I,uBAAA,GAAAJ,QAAA,CAAAI,uBAAA;AAAA7I,OAAA,CAAA8I,0BAAA,GAAAL,QAAA,CAAAK,0BAAA;AAAA9I,OAAA,CAAA+I,uBAAA,GAAAN,QAAA,CAAAM,uBAAA;AAAA/I,OAAA,CAAAgJ,gCAAA,GAAAP,QAAA,CAAAO,gCAAA;AAAAhJ,OAAA,CAAAiJ,uBAAA,GAAAR,QAAA,CAAAQ,uBAAA;AAAAjJ,OAAA,CAAAkJ,0BAAA,GAAAT,QAAA,CAAAS,0BAAA;AAAAlJ,OAAA,CAAAmJ,uBAAA,GAAAV,QAAA,CAAAU,uBAAA;AAW5B,IAAAC,MAAA,GAAArJ,OAAA;AAAiCC,OAAA,CAAAqJ,EAAA,GAAAD,MAAA,CAAAC,EAAA;AACjC,IAAAC,WAAA,GAAAvJ,OAAA;AAA4EC,OAAA,CAAAuJ,iBAAA,GAAAD,WAAA,CAAAC,iBAAA;AAAAvJ,OAAA,CAAAwJ,kBAAA,GAAAF,WAAA,CAAAE,kBAAA;AAC5E,IAAAC,cAAA,GAAA1J,OAAA;AAS+BC,OAAA,CAAA0J,eAAA,GAAAD,cAAA,CAAAC,eAAA;AAAA1J,OAAA,CAAA2J,kBAAA,GAAAF,cAAA,CAAAE,kBAAA;AAAA3J,OAAA,CAAA4J,aAAA,GAAAH,cAAA,CAAAG,aAAA;AAAA5J,OAAA,CAAA6J,eAAA,GAAAJ,cAAA,CAAAI,eAAA;AAAA7J,OAAA,CAAA8J,oBAAA,GAAAL,cAAA,CAAAK,oBAAA;AAC/B,IAAAC,WAAA,GAAAhK,OAAA;AAA6EC,OAAA,CAAAgK,aAAA,GAAAD,WAAA,CAAAC,aAAA;AAG7E,IAAAC,WAAA,GAAAlK,OAAA;AAS4BC,OAAA,CAAAkK,QAAA,GAAAD,WAAA,CAAAC,QAAA;AAAAlK,OAAA,CAAAmK,QAAA,GAAAF,WAAA,CAAAE,QAAA;AAAAnK,OAAA,CAAAoK,kBAAA,GAAAH,WAAA,CAAAG,kBAAA;AAAApK,OAAA,CAAAqK,KAAA,GAAAJ,WAAA,CAAAI,KAAA;AAAArK,OAAA,CAAAsK,eAAA,GAAAL,WAAA,CAAAK,eAAA;AAAAtK,OAAA,CAAAuK,kBAAA,GAAAN,WAAA,CAAAM,kBAAA;AAAAvK,OAAA,CAAAwK,gBAAA,GAAAP,WAAA,CAAAO,gBAAA;AAG5B,IAAAC,gBAAA,GAAA1K,OAAA;AASiCC,OAAA,CAAA0K,SAAA,GAAAD,gBAAA,CAAAC,SAAA;AAAA1K,OAAA,CAAA2K,gBAAA,GAAAF,gBAAA,CAAAE,gBAAA;AAAA3K,OAAA,CAAA4K,aAAA,GAAAH,gBAAA,CAAAG,aAAA;AAAA5K,OAAA,CAAA6K,SAAA,GAAAJ,gBAAA,CAAAI,SAAA;AAAA7K,OAAA,CAAA8K,QAAA,GAAAL,gBAAA,CAAAK,QAAA;AAAA9K,OAAA,CAAA+K,kBAAA,GAAAN,gBAAA,CAAAM,kBAAA;AAAA/K,OAAA,CAAAgL,mBAAA,GAAAP,gBAAA,CAAAO,mBAAA;AAGjC,IAAAC,OAAA,GAAAlL,OAAA;AAakBC,OAAA,CAAAkL,cAAA,GAAAD,OAAA,CAAAC,cAAA;AAAAlL,OAAA,CAAAmL,sBAAA,GAAAF,OAAA,CAAAE,sBAAA;AAAAnL,OAAA,CAAAoL,mBAAA,GAAAH,OAAA,CAAAG,mBAAA;AAAApL,OAAA,CAAAqL,oBAAA,GAAAJ,OAAA,CAAAI,oBAAA;AAAArL,OAAA,CAAAsL,uBAAA,GAAAL,OAAA,CAAAK,uBAAA;AAAAtL,OAAA,CAAAuL,oBAAA,GAAAN,OAAA,CAAAM,oBAAA;AAGlB,IAAAC,gBAAA,GAAAzL,OAAA;AAMiCC,OAAA,CAAAyL,eAAA,GAAAD,gBAAA,CAAAC,eAAA;AAAAzL,OAAA,CAAA0L,eAAA,GAAAF,gBAAA,CAAAE,eAAA;AAAA1L,OAAA,CAAA2L,iBAAA,GAAAH,gBAAA,CAAAG,iBAAA;AAAA3L,OAAA,CAAA4L,kBAAA,GAAAJ,gBAAA,CAAAI,kBAAA;AAAA5L,OAAA,CAAA6L,mBAAA,GAAAL,gBAAA,CAAAK,mBAAA;AAGjC,IAAAC,UAAA,GAAA/L,OAAA;AAImCC,OAAA,CAAA+L,SAAA,GAAAD,UAAA,CAAAC,SAAA;AACnC,IAAAC,mBAAA,GAAAjM,OAAA;AAKoCC,OAAA,CAAAiM,wBAAA,GAAAD,mBAAA,CAAAC,wBAAA;AAAAjM,OAAA,CAAAkM,uBAAA,GAAAF,mBAAA,CAAAE,uBAAA;AAAAlM,OAAA,CAAAmM,sBAAA,GAAAH,mBAAA,CAAAG,sBAAA;AACpC,IAAAC,sBAAA,GAAArM,OAAA;AAG+CC,OAAA,CAAAqM,qBAAA,GAAAD,sBAAA,CAAAC,qBAAA;AAC/C,IAAAC,cAAA,GAAAvM,OAAA;AAKuCC,OAAA,CAAAuM,aAAA,GAAAD,cAAA,CAAAC,aAAA;AACvC,IAAAC,YAAA,GAAAzM,OAAA;AAMqCC,OAAA,CAAAyM,WAAA,GAAAD,YAAA,CAAAC,WAAA;AACrC,IAAAC,WAAA,GAAA3M,OAAA;AAA8EC,OAAA,CAAA2M,UAAA,GAAAD,WAAA,CAAAC,UAAA;AAC9E,IAAAC,gBAAA,GAAA7M,OAAA;AAGyCC,OAAA,CAAA6M,eAAA,GAAAD,gBAAA,CAAAC,eAAA;AACzC,IAAAC,aAAA,GAAA/M,OAAA;AAA4DC,OAAA,CAAA+M,YAAA,GAAAD,aAAA,CAAAC,YAAA;AAC5D,IAAAC,aAAA,GAAAjN,OAAA;AAGsCC,OAAA,CAAAiN,YAAA,GAAAD,aAAA,CAAAC,YAAA;AACtC,IAAAC,eAAA,GAAAnN,OAAA;AAGwCC,OAAA,CAAAmN,cAAA,GAAAD,eAAA,CAAAC,cAAA;AACxC,IAAAC,gBAAA,GAAArN,OAAA;AAGyCC,OAAA,CAAAqN,eAAA,GAAAD,gBAAA,CAAAC,eAAA;AACzC,IAAAC,UAAA,GAAAvN,OAAA;AAA2EC,OAAA,CAAAuN,SAAA,GAAAD,UAAA,CAAAC,SAAA;AAC3E,IAAAC,OAAA,GAAAzN,OAAA;AAAkEC,OAAA,CAAAyN,MAAA,GAAAD,OAAA,CAAAC,MAAA;AAClE,IAAAC,gBAAA,GAAA3N,OAAA;AAGyCC,OAAA,CAAA2N,eAAA,GAAAD,gBAAA,CAAAC,eAAA;AACzC,IAAAC,YAAA,GAAA7N,OAAA;AAMqCC,OAAA,CAAA6N,WAAA,GAAAD,YAAA,CAAAC,WAAA;AAAA7N,OAAA,CAAA8N,cAAA,GAAAF,YAAA,CAAAE,cAAA;AAAA9N,OAAA,CAAA+N,QAAA,GAAAH,YAAA,CAAAG,QAAA;AACrC,IAAAC,MAAA,GAAAjO,OAAA;AAS+BC,OAAA,CAAAiO,KAAA,GAAAD,MAAA,CAAAC,KAAA;AAAAjO,OAAA,CAAAkO,WAAA,GAAAF,MAAA,CAAAE,WAAA;AAAAlO,OAAA,CAAAmO,SAAA,GAAAH,MAAA,CAAAG,SAAA;AAAAnO,OAAA,CAAAoO,WAAA,GAAAJ,MAAA,CAAAI,WAAA;AAAApO,OAAA,CAAAqO,SAAA,GAAAL,MAAA,CAAAK,SAAA;AAAArO,OAAA,CAAAsO,QAAA,GAAAN,MAAA,CAAAM,QAAA;AAAAtO,OAAA,CAAAuO,SAAA,GAAAP,MAAA,CAAAO,SAAA;AAAAvO,OAAA,CAAAwO,YAAA,GAAAR,MAAA,CAAAQ,YAAA;AAU/B,IAAAC,eAAA,GAAA1O,OAAA;AAIgCC,OAAA,CAAA0O,qBAAA,GAAAD,eAAA,CAAAC,qBAAA;AAGhC,IAAAC,mBAAA,GAAA5O,OAAA;AAIoCC,OAAA,CAAA4O,yBAAA,GAAAD,mBAAA,CAAAC,yBAAA;AAGpC,IAAAC,cAAA,GAAA9O,OAAA;AAK+BC,OAAA,CAAA8O,mBAAA,GAAAD,cAAA,CAAAC,mBAAA;AAM/B,IAAAC,iBAAA,GAAAhP,OAAA;AAA6DC,OAAA,CAAAgP,gBAAA,GAAAD,iBAAA,CAAAC,gBAAA;AAI7D,IAAAC,qBAAA,GAAAlP,OAAA;AAGuCC,OAAA,CAAAkP,uBAAA,GAAAD,qBAAA,CAAAC,uBAAA;AAAAlP,OAAA,CAAAmP,mBAAA,GAAAF,qBAAA,CAAAE,mBAAA;AAKvC,IAAAC,gBAAA,GAAArP,OAAA;AAOkCC,OAAA,CAAAqP,kBAAA,GAAAD,gBAAA,CAAAC,kBAAA;AAAArP,OAAA,CAAAsP,sBAAA,GAAAF,gBAAA,CAAAE,sBAAA;AAAAtP,OAAA,CAAAuP,mBAAA,GAAAH,gBAAA,CAAAG,mBAAA;AAAAvP,OAAA,CAAAwP,yBAAA,GAAAJ,gBAAA,CAAAI,yBAAA;AAAAxP,OAAA,CAAAyP,iBAAA,GAAAL,gBAAA,CAAAK,iBAAA;AAAAzP,OAAA,CAAA0P,sBAAA,GAAAN,gBAAA,CAAAM,sBAAA;AAClC,IAAAC,kBAAA,GAAA5P,OAAA;AAGoCC,OAAA,CAAA4P,iBAAA,GAAAD,kBAAA,CAAAC,iBAAA;AACpC,IAAAC,oBAAA,GAAA9P,OAAA;AAKsCC,OAAA,CAAA8P,mBAAA,GAAAD,oBAAA,CAAAC,mBAAA;AAAA9P,OAAA,CAAA+P,qBAAA,GAAAF,oBAAA,CAAAE,qBAAA;AACtC,IAAAC,cAAA,GAAAjQ,OAAA;AAU+BC,OAAA,CAAAiQ,oBAAA,GAAAD,cAAA,CAAAC,oBAAA;AAAAjQ,OAAA,CAAAkQ,YAAA,GAAAF,cAAA,CAAAE,YAAA;AAAAlQ,OAAA,CAAAmQ,eAAA,GAAAH,cAAA,CAAAG,eAAA;AAAAnQ,OAAA,CAAAoQ,kBAAA,GAAAJ,cAAA,CAAAI,kBAAA;AAAApQ,OAAA,CAAAqQ,QAAA,GAAAL,cAAA,CAAAK,QAAA;AAAArQ,OAAA,CAAAsQ,YAAA,GAAAN,cAAA,CAAAM,YAAA;AAC/B,IAAAC,WAAA,GAAAxQ,OAAA;AAM6BC,OAAA,CAAAwQ,mBAAA,GAAAD,WAAA,CAAAC,mBAAA;AAAAxQ,OAAA,CAAAyQ,eAAA,GAAAF,WAAA,CAAAE,eAAA;AAAAzQ,OAAA,CAAA0Q,uBAAA,GAAAH,WAAA,CAAAG,uBAAA;AAC7B,IAAAC,YAAA,GAAA5Q,OAAA;AAI6BC,OAAA,CAAA4Q,eAAA,GAAAD,YAAA,CAAAC,eAAA;AAAA5Q,OAAA,CAAA6Q,eAAA,GAAAF,YAAA,CAAAE,eAAA;AAAA7Q,OAAA,CAAA8Q,YAAA,GAAAH,YAAA,CAAAG,YAAA;AAG7B,IAAAC,0BAAA,GAAAhR,OAAA;AAM0DC,OAAA,CAAAgR,yBAAA,GAAAD,0BAAA,CAAAC,yBAAA;AAAAhR,OAAA,CAAAiR,qBAAA,GAAAF,0BAAA,CAAAE,qBAAA;AAC1D,IAAAC,2BAAA,GAAAnR,OAAA;AAG2DC,OAAA,CAAAmR,0BAAA,GAAAD,2BAAA,CAAAC,0BAAA;AAC3D,IAAAC,wBAAA,GAAArR,OAAA;AAIwDC,OAAA,CAAAqR,wBAAA,GAAAD,wBAAA,CAAAC,wBAAA;AAAArR,OAAA,CAAAsR,mBAAA,GAAAF,wBAAA,CAAAE,mBAAA;AAGxD,IAAAC,sBAAA,GAAAxR,OAAA;AAIuCC,OAAA,CAAAwR,qBAAA,GAAAD,sBAAA,CAAAC,qBAAA;AAAAxR,OAAA,CAAAyR,kBAAA,GAAAF,sBAAA,CAAAE,kBAAA;AAAAzR,OAAA,CAAA0R,kBAAA,GAAAH,sBAAA,CAAAG,kBAAA;AACvC,IAAAC,qBAAA,GAAA5R,OAAA;AASsCC,OAAA,CAAA4R,eAAA,GAAAD,qBAAA,CAAAC,eAAA;AAAA5R,OAAA,CAAA6R,iBAAA,GAAAF,qBAAA,CAAAE,iBAAA;AAAA7R,OAAA,CAAA8R,sBAAA,GAAAH,qBAAA,CAAAG,sBAAA;AAAA9R,OAAA,CAAA+R,iBAAA,GAAAJ,qBAAA,CAAAI,iBAAA;AAAA/R,OAAA,CAAAgS,cAAA,GAAAL,qBAAA,CAAAK,cAAA;AAAAhS,OAAA,CAAAiS,kBAAA,GAAAN,qBAAA,CAAAM,kBAAA;AACtC,IAAAC,kBAAA,GAAAnS,OAAA;AAGmCC,OAAA,CAAAmS,iBAAA,GAAAD,kBAAA,CAAAC,iBAAA;AACnC,IAAAC,sBAAA,GAAArS,OAAA;AAGuCC,OAAA,CAAAqS,qBAAA,GAAAD,sBAAA,CAAAC,qBAAA;AAAArS,OAAA,CAAAsS,0BAAA,GAAAF,sBAAA,CAAAE,0BAAA;AACvC,IAAAC,gBAAA,GAAAxS,OAAA;AAMiCC,OAAA,CAAAwS,yBAAA,GAAAD,gBAAA,CAAAC,yBAAA;AAAAxS,OAAA,CAAAyS,qBAAA,GAAAF,gBAAA,CAAAE,qBAAA;AAEjC,IAAAC,eAAA,GAAA3S,OAAA;AASgCC,OAAA,CAAA2S,iBAAA,GAAAD,eAAA,CAAAC,iBAAA;AAAA3S,OAAA,CAAA4S,iBAAA,GAAAF,eAAA,CAAAE,iBAAA;AAAA5S,OAAA,CAAA6S,UAAA,GAAAH,eAAA,CAAAG,UAAA;AAAA7S,OAAA,CAAA8S,eAAA,GAAAJ,eAAA,CAAAI,eAAA;AAAA9S,OAAA,CAAA+S,mBAAA,GAAAL,eAAA,CAAAK,mBAAA;AAChC,IAAAC,qBAAA,GAAAjT,OAAA;AAGsCC,OAAA,CAAAiT,oBAAA,GAAAD,qBAAA,CAAAC,oBAAA;AACtC,IAAAC,eAAA,GAAAnT,OAAA;AAOgCC,OAAA,CAAAmT,yBAAA,GAAAD,eAAA,CAAAC,yBAAA;AAAAnT,OAAA,CAAAoT,yBAAA,GAAAF,eAAA,CAAAE,yBAAA;AAAApT,OAAA,CAAAqT,uBAAA,GAAAH,eAAA,CAAAG,uBAAA;AAAArT,OAAA,CAAAsT,oBAAA,GAAAJ,eAAA,CAAAI,oBAAA;AAAAtT,OAAA,CAAAuT,oBAAA,GAAAL,eAAA,CAAAK,oBAAA;AAAAvT,OAAA,CAAAwT,qBAAA,GAAAN,eAAA,CAAAM,qBAAA;AAChC,IAAAC,mBAAA,GAAA1T,OAAA;AAQoCC,OAAA,CAAA0T,uBAAA,GAAAD,mBAAA,CAAAC,uBAAA;AAAA1T,OAAA,CAAA2T,+BAAA,GAAAF,mBAAA,CAAAE,+BAAA;AAAA3T,OAAA,CAAA4T,2BAAA,GAAAH,mBAAA,CAAAG,2BAAA;AAAA5T,OAAA,CAAA6T,qBAAA,GAAAJ,mBAAA,CAAAI,qBAAA;AAAA7T,OAAA,CAAA8T,qBAAA,GAAAL,mBAAA,CAAAK,qBAAA;AAAA9T,OAAA,CAAA+T,kBAAA,GAAAN,mBAAA,CAAAM,kBAAA;AACpC,IAAAC,WAAA,GAAAjU,OAAA;AAAyDC,OAAA,CAAAiU,mBAAA,GAAAD,WAAA,CAAAC,mBAAA;AACzD,IAAAC,WAAA,GAAAnU,OAAA;AAO4BC,OAAA,CAAAmU,eAAA,GAAAD,WAAA,CAAAC,eAAA;AAAAnU,OAAA,CAAAoU,uBAAA,GAAAF,WAAA,CAAAE,uBAAA;AAAApU,OAAA,CAAAqU,mBAAA,GAAAH,WAAA,CAAAG,mBAAA;AAAArU,OAAA,CAAAsU,aAAA,GAAAJ,WAAA,CAAAI,aAAA;AAAAtU,OAAA,CAAAuU,oBAAA,GAAAL,WAAA,CAAAK,oBAAA;AAAAvU,OAAA,CAAAwU,aAAA,GAAAN,WAAA,CAAAM,aAAA;AAC5B,IAAAC,aAAA,GAAA1U,OAAA;AAA2DC,OAAA,CAAA0U,kBAAA,GAAAD,aAAA,CAAAC,kBAAA;AAC3D,IAAAC,eAAA,GAAA5U,OAAA;AAOgCC,OAAA,CAAA4U,oBAAA,GAAAD,eAAA,CAAAC,oBAAA;AAAA5U,OAAA,CAAA6U,YAAA,GAAAF,eAAA,CAAAE,YAAA;AAAA7U,OAAA,CAAA8U,SAAA,GAAAH,eAAA,CAAAG,SAAA;AAAA9U,OAAA,CAAA+U,cAAA,GAAAJ,eAAA,CAAAI,cAAA;AAAA/U,OAAA,CAAAgV,SAAA,GAAAL,eAAA,CAAAK,SAAA;AAAAhV,OAAA,CAAAiV,mBAAA,GAAAN,eAAA,CAAAM,mBAAA;AAGhC,IAAAC,gBAAA,GAAAnV,OAAA;AAQqCC,OAAA,CAAAmV,yBAAA,GAAAD,gBAAA,CAAAC,yBAAA;AAAAnV,OAAA,CAAAoV,iBAAA,GAAAF,gBAAA,CAAAE,iBAAA;AAAApV,OAAA,CAAAqV,iCAAA,GAAAH,gBAAA,CAAAG,iCAAA;AASrC,IAAAC,UAAA,GAAAvV,OAAA;AAOqBC,OAAA,CAAAuV,YAAA,GAAAD,UAAA,CAAAC,YAAA;AAAAvV,OAAA,CAAAwV,eAAA,GAAAF,UAAA,CAAAE,eAAA;AAAAxV,OAAA,CAAAyV,WAAA,GAAAH,UAAA,CAAAG,WAAA;AAAAzV,OAAA,CAAA0V,UAAA,GAAAJ,UAAA,CAAAI,UAAA;AAAA1V,OAAA,CAAA2V,kBAAA,GAAAL,UAAA,CAAAK,kBAAA","ignoreList":[]}
|
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
|
-
exports.CALLOUT_KINDS = void 0;
|
|
4
|
+
exports.CALLOUT_SEMANTICS = exports.CALLOUT_KINDS = void 0;
|
|
5
5
|
const CALLOUT_KINDS = exports.CALLOUT_KINDS = ['NOTE', 'TIP', 'IMPORTANT', 'WARNING', 'CAUTION', 'ECHO'];
|
|
6
|
+
/**
|
|
7
|
+
* The kinds a callout descriptor may declare as `semantic:`, lowercase, as the
|
|
8
|
+
* orchestrator writes them: `<!-- section:callout, semantic:tip -->`.
|
|
9
|
+
*
|
|
10
|
+
* Deliberately narrower than `CALLOUT_KINDS`. That list is the vocabulary of
|
|
11
|
+
* the legacy `> [!TYPE]` blockquote marker and has to keep every value it ever
|
|
12
|
+
* accepted, because historical pages and sites pinned to an older prompt still
|
|
13
|
+
* carry them. This list is what the current prompts are allowed to emit.
|
|
14
|
+
*/
|
|
15
|
+
const CALLOUT_SEMANTICS = exports.CALLOUT_SEMANTICS = ['note', 'tip'];
|
|
6
16
|
//# sourceMappingURL=callout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CALLOUT_KINDS","exports"],"sources":["../../../src/types/callout.ts"],"sourcesContent":["export const CALLOUT_KINDS = [\n 'NOTE',\n 'TIP',\n 'IMPORTANT',\n 'WARNING',\n 'CAUTION',\n 'ECHO',\n] as const;\n\nexport type CalloutKind = (typeof CALLOUT_KINDS)[number];\n\nexport interface Callout {\n text: string;\n kind?: string;\n}\n"],"mappings":";;;;AAAO,MAAMA,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,CAC3B,MAAM,EACN,KAAK,EACL,WAAW,EACX,SAAS,EACT,SAAS,EACT,MAAM,CACE","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["CALLOUT_KINDS","exports","CALLOUT_SEMANTICS"],"sources":["../../../src/types/callout.ts"],"sourcesContent":["export const CALLOUT_KINDS = [\n 'NOTE',\n 'TIP',\n 'IMPORTANT',\n 'WARNING',\n 'CAUTION',\n 'ECHO',\n] as const;\n\nexport type CalloutKind = (typeof CALLOUT_KINDS)[number];\n\n/**\n * The kinds a callout descriptor may declare as `semantic:`, lowercase, as the\n * orchestrator writes them: `<!-- section:callout, semantic:tip -->`.\n *\n * Deliberately narrower than `CALLOUT_KINDS`. That list is the vocabulary of\n * the legacy `> [!TYPE]` blockquote marker and has to keep every value it ever\n * accepted, because historical pages and sites pinned to an older prompt still\n * carry them. This list is what the current prompts are allowed to emit.\n */\nexport const CALLOUT_SEMANTICS = ['note', 'tip'] as const;\n\nexport type CalloutSemantic = (typeof CALLOUT_SEMANTICS)[number];\n\nexport interface Callout {\n text: string;\n kind?: string;\n}\n"],"mappings":";;;;AAAO,MAAMA,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,CAC3B,MAAM,EACN,KAAK,EACL,WAAW,EACX,SAAS,EACT,SAAS,EACT,MAAM,CACE;AAIV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAME,iBAAiB,GAAAD,OAAA,CAAAC,iBAAA,GAAG,CAAC,MAAM,EAAE,KAAK,CAAU","ignoreList":[]}
|
|
@@ -1,16 +1,60 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
-
import { parseCalloutTag } from './parse-utils.js';
|
|
2
|
+
import { inlinePartsToMarkdown, parseCalloutTag } from './parse-utils.js';
|
|
3
3
|
import { getPartsByType, getLinks } from '../../parts/parts.js';
|
|
4
|
+
import { CALLOUT_SEMANTICS } from '../../types/callout.js';
|
|
5
|
+
import { DROP_SECTION } from '../section-definition.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Callout — the page's dialog layer, written by the orchestrator itself rather
|
|
9
|
+
* than by a per-section model.
|
|
10
|
+
*
|
|
11
|
+
* Two markdown forms reach this definition, and both must keep working:
|
|
12
|
+
*
|
|
13
|
+
* 1. **Descriptor + plain prose** (current). `semantic` carries the kind:
|
|
14
|
+
*
|
|
15
|
+
* <!-- section:callout, semantic:tip -->
|
|
16
|
+
* Prefer a gentle daily ritual? The 4 oz size is the one to sample with.
|
|
17
|
+
*
|
|
18
|
+
* 2. **GFM alert blockquote** (legacy). Still emitted by sites pinned to an
|
|
19
|
+
* older prompt, and present in every historical page, so it is parsed
|
|
20
|
+
* verbatim rather than migrated:
|
|
21
|
+
*
|
|
22
|
+
* <!-- section:callout -->
|
|
23
|
+
* > [!TIP] Prefer a gentle daily ritual? …
|
|
24
|
+
*
|
|
25
|
+
* The two forms differ in one way that matters. A blockquote collapses to a
|
|
26
|
+
* single `callout` part carrying the whole line in `meta.markdown`, so inline
|
|
27
|
+
* ask links survive for free and `getLinks` finds nothing to harvest. A
|
|
28
|
+
* paragraph is *unwrapped* into its inline children (`markdownBlocks.ts`), so
|
|
29
|
+
* prose with a link arrives as `t + link + t` — separate parts. Reading only
|
|
30
|
+
* the `t` parts would delete the link's url and label (DL #134's list bug) and
|
|
31
|
+
* `getLinks` would then re-surface it as a footer link, showing the visitor the
|
|
32
|
+
* same link twice. `inlinePartsToMarkdown` is what keeps the link inline, and
|
|
33
|
+
* the prose path deliberately harvests no `relatedLinks` at all.
|
|
34
|
+
*/
|
|
4
35
|
export class CalloutSectionDefinition {
|
|
5
36
|
constructor() {
|
|
6
37
|
_defineProperty(this, "sectionType", 'callout');
|
|
7
|
-
_defineProperty(this, "patterns", [
|
|
38
|
+
_defineProperty(this, "patterns", [
|
|
39
|
+
// Descriptor-led prose. `link` must be in the alternation or a callout
|
|
40
|
+
// carrying an ask link fails to match and falls through to the fallback.
|
|
41
|
+
'html_comment[section="callout"] > (t | link)+',
|
|
42
|
+
// Legacy blockquote.
|
|
43
|
+
'html_comment? > callout+']);
|
|
8
44
|
_defineProperty(this, "defaults", {
|
|
9
45
|
callouts: [{
|
|
10
46
|
text: 'This is a callout.'
|
|
11
47
|
}]
|
|
12
48
|
});
|
|
13
49
|
_defineProperty(this, "fixtures", [{
|
|
50
|
+
markdown: '<!-- section:callout, semantic:tip -->\nThis is a callout paragraph.',
|
|
51
|
+
expected: {
|
|
52
|
+
callouts: [{
|
|
53
|
+
text: 'This is a callout paragraph.',
|
|
54
|
+
kind: 'TIP'
|
|
55
|
+
}]
|
|
56
|
+
}
|
|
57
|
+
}, {
|
|
14
58
|
markdown: '> This is a callout blockquote.',
|
|
15
59
|
expected: {
|
|
16
60
|
callouts: [{
|
|
@@ -20,10 +64,45 @@ export class CalloutSectionDefinition {
|
|
|
20
64
|
}]);
|
|
21
65
|
}
|
|
22
66
|
parse(parts) {
|
|
67
|
+
const calloutParts = getPartsByType(parts, 'callout');
|
|
68
|
+
return calloutParts.length > 0 ? this.parseBlockquote(calloutParts, parts) : this.parseProse(parts);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Descriptor + plain prose. The kind comes from the descriptor's `semantic`,
|
|
73
|
+
* and every link in the body is inline prose — never a `relatedLinks` footer.
|
|
74
|
+
*/
|
|
75
|
+
parseProse(parts) {
|
|
76
|
+
var _parts$find;
|
|
77
|
+
const descriptor = (_parts$find = parts.find(p => p.type === 'htmlComment' && p.meta)) == null ? void 0 : _parts$find.meta;
|
|
78
|
+
|
|
79
|
+
// The pattern already gates on this; re-checking keeps a direct
|
|
80
|
+
// `parse()` call (and any future pattern edit) from mislabelling a
|
|
81
|
+
// different section's prose as a callout.
|
|
82
|
+
if ((descriptor == null ? void 0 : descriptor.section) !== 'callout') {
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
const text = inlinePartsToMarkdown(parts.filter(p => p.type !== 'htmlComment')).trim();
|
|
86
|
+
|
|
87
|
+
// Matched, but there is nothing to say. DROP_SECTION consumes the nodes
|
|
88
|
+
// and renders nothing; returning null would hand the descriptor to the
|
|
89
|
+
// fallback, which renders it as stray text.
|
|
90
|
+
if (!text) {
|
|
91
|
+
return DROP_SECTION;
|
|
92
|
+
}
|
|
93
|
+
return {
|
|
94
|
+
callouts: [{
|
|
95
|
+
text,
|
|
96
|
+
...(semanticToKind(descriptor.semantic) ?? {})
|
|
97
|
+
}]
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/** Legacy GFM alert blockquote. */
|
|
102
|
+
parseBlockquote(calloutParts, parts) {
|
|
23
103
|
const callouts = [];
|
|
24
104
|
const relatedLinks = [];
|
|
25
105
|
const seenUrls = new Set();
|
|
26
|
-
const calloutParts = getPartsByType(parts, 'callout');
|
|
27
106
|
for (const c of calloutParts) {
|
|
28
107
|
var _c$meta, _c$content;
|
|
29
108
|
const text = ((_c$meta = c.meta) == null || (_c$meta = _c$meta.markdown) == null ? void 0 : _c$meta.trim()) || ((_c$content = c.content) == null ? void 0 : _c$content.trim());
|
|
@@ -37,10 +116,13 @@ export class CalloutSectionDefinition {
|
|
|
37
116
|
}
|
|
38
117
|
}
|
|
39
118
|
}
|
|
119
|
+
if (callouts.length === 0) {
|
|
120
|
+
return DROP_SECTION;
|
|
121
|
+
}
|
|
40
122
|
|
|
41
|
-
//
|
|
42
|
-
|
|
43
|
-
for (const link of
|
|
123
|
+
// A blockquote yields no sibling link parts, so anything found here arrived
|
|
124
|
+
// alongside the quote and is a genuine footer link.
|
|
125
|
+
for (const link of getLinks(parts)) {
|
|
44
126
|
var _link$meta, _link$content;
|
|
45
127
|
const href = (_link$meta = link.meta) == null ? void 0 : _link$meta.href;
|
|
46
128
|
const text = (_link$content = link.content) == null ? void 0 : _link$content.trim();
|
|
@@ -58,4 +140,20 @@ export class CalloutSectionDefinition {
|
|
|
58
140
|
};
|
|
59
141
|
}
|
|
60
142
|
}
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* `semantic:tip` → `{ kind: 'TIP' }`. Uppercased so the new form lands on the
|
|
146
|
+
* same vocabulary the legacy `[!TIP]` marker produced, which is what any
|
|
147
|
+
* kind-aware renderer already switches on. An unrecognised value carries no
|
|
148
|
+
* kind rather than an invented one.
|
|
149
|
+
*/
|
|
150
|
+
function semanticToKind(semantic) {
|
|
151
|
+
const value = semantic == null ? void 0 : semantic.trim().toLowerCase();
|
|
152
|
+
if (!value) {
|
|
153
|
+
return undefined;
|
|
154
|
+
}
|
|
155
|
+
return CALLOUT_SEMANTICS.includes(value) ? {
|
|
156
|
+
kind: value.toUpperCase()
|
|
157
|
+
} : undefined;
|
|
158
|
+
}
|
|
61
159
|
//# sourceMappingURL=CalloutSectionDefinition.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["parseCalloutTag","getPartsByType","getLinks","CalloutSectionDefinition","constructor","_defineProperty","callouts","text","markdown","expected","parse","parts","
|
|
1
|
+
{"version":3,"names":["inlinePartsToMarkdown","parseCalloutTag","getPartsByType","getLinks","CALLOUT_SEMANTICS","DROP_SECTION","CalloutSectionDefinition","constructor","_defineProperty","callouts","text","markdown","expected","kind","parse","parts","calloutParts","length","parseBlockquote","parseProse","_parts$find","descriptor","find","p","type","meta","section","filter","trim","semanticToKind","semantic","relatedLinks","seenUrls","Set","c","_c$meta","_c$content","content","parsed","push","link","_link$meta","_link$content","href","has","add","url","undefined","value","toLowerCase","includes","toUpperCase"],"sources":["../../../../src/component/componentDefinitions/CalloutSectionDefinition.ts"],"sourcesContent":["import { inlinePartsToMarkdown, parseCalloutTag } from './parse-utils';\nimport { getPartsByType, getLinks, type Part } from '../../parts/parts';\nimport { CALLOUT_SEMANTICS, type Callout } from '../../types/callout';\nimport type {\n CalloutCompProps,\n CalloutSectionComponent,\n SectionFixture,\n} from '../types';\nimport {\n DROP_SECTION,\n type DropSection,\n type SectionDefinition,\n} from '../section-definition';\n\n/**\n * Callout — the page's dialog layer, written by the orchestrator itself rather\n * than by a per-section model.\n *\n * Two markdown forms reach this definition, and both must keep working:\n *\n * 1. **Descriptor + plain prose** (current). `semantic` carries the kind:\n *\n * <!-- section:callout, semantic:tip -->\n * Prefer a gentle daily ritual? The 4 oz size is the one to sample with.\n *\n * 2. **GFM alert blockquote** (legacy). Still emitted by sites pinned to an\n * older prompt, and present in every historical page, so it is parsed\n * verbatim rather than migrated:\n *\n * <!-- section:callout -->\n * > [!TIP] Prefer a gentle daily ritual? …\n *\n * The two forms differ in one way that matters. A blockquote collapses to a\n * single `callout` part carrying the whole line in `meta.markdown`, so inline\n * ask links survive for free and `getLinks` finds nothing to harvest. A\n * paragraph is *unwrapped* into its inline children (`markdownBlocks.ts`), so\n * prose with a link arrives as `t + link + t` — separate parts. Reading only\n * the `t` parts would delete the link's url and label (DL #134's list bug) and\n * `getLinks` would then re-surface it as a footer link, showing the visitor the\n * same link twice. `inlinePartsToMarkdown` is what keeps the link inline, and\n * the prose path deliberately harvests no `relatedLinks` at all.\n */\nexport class CalloutSectionDefinition\n implements SectionDefinition<CalloutSectionComponent>\n{\n sectionType = 'callout' as const;\n patterns = [\n // Descriptor-led prose. `link` must be in the alternation or a callout\n // carrying an ask link fails to match and falls through to the fallback.\n 'html_comment[section=\"callout\"] > (t | link)+',\n // Legacy blockquote.\n 'html_comment? > callout+',\n ];\n\n defaults: CalloutCompProps = {\n callouts: [{ text: 'This is a callout.' }],\n };\n\n fixtures: SectionFixture<CalloutCompProps>[] = [\n {\n markdown:\n '<!-- section:callout, semantic:tip -->\\nThis is a callout paragraph.',\n expected: {\n callouts: [{ text: 'This is a callout paragraph.', kind: 'TIP' }],\n },\n },\n {\n markdown: '> This is a callout blockquote.',\n expected: {\n callouts: [{ text: 'This is a callout blockquote.' }],\n },\n },\n ];\n\n parse(parts: Part[]): CalloutCompProps | null | DropSection {\n const calloutParts = getPartsByType<Part>(parts, 'callout');\n\n return calloutParts.length > 0\n ? this.parseBlockquote(calloutParts, parts)\n : this.parseProse(parts);\n }\n\n /**\n * Descriptor + plain prose. The kind comes from the descriptor's `semantic`,\n * and every link in the body is inline prose — never a `relatedLinks` footer.\n */\n private parseProse(parts: Part[]): CalloutCompProps | null | DropSection {\n const descriptor = parts.find((p) => p.type === 'htmlComment' && p.meta)\n ?.meta as Record<string, string> | undefined;\n\n // The pattern already gates on this; re-checking keeps a direct\n // `parse()` call (and any future pattern edit) from mislabelling a\n // different section's prose as a callout.\n if (descriptor?.section !== 'callout') {\n return null;\n }\n\n const text = inlinePartsToMarkdown(\n parts.filter((p) => p.type !== 'htmlComment'),\n ).trim();\n\n // Matched, but there is nothing to say. DROP_SECTION consumes the nodes\n // and renders nothing; returning null would hand the descriptor to the\n // fallback, which renders it as stray text.\n if (!text) {\n return DROP_SECTION;\n }\n\n return {\n callouts: [{ text, ...(semanticToKind(descriptor.semantic) ?? {}) }],\n };\n }\n\n /** Legacy GFM alert blockquote. */\n private parseBlockquote(\n calloutParts: Part[],\n parts: Part[],\n ): CalloutCompProps | null | DropSection {\n const callouts: Callout[] = [];\n const relatedLinks: { text: string; url: string }[] = [];\n const seenUrls = new Set<string>();\n\n for (const c of calloutParts) {\n const text = (c.meta?.markdown as string)?.trim() || c.content?.trim();\n if (text) {\n const parsed = parseCalloutTag(text);\n if (parsed.text) {\n callouts.push({ text: parsed.text, kind: parsed.kind });\n }\n }\n }\n\n if (callouts.length === 0) {\n return DROP_SECTION;\n }\n\n // A blockquote yields no sibling link parts, so anything found here arrived\n // alongside the quote and is a genuine footer link.\n for (const link of getLinks(parts)) {\n const href = link.meta?.href;\n const text = link.content?.trim();\n if (text && href && !seenUrls.has(href)) {\n seenUrls.add(href);\n relatedLinks.push({ text, url: href });\n }\n }\n\n return {\n callouts,\n relatedLinks: relatedLinks.length > 0 ? relatedLinks : undefined,\n };\n }\n}\n\n/**\n * `semantic:tip` → `{ kind: 'TIP' }`. Uppercased so the new form lands on the\n * same vocabulary the legacy `[!TIP]` marker produced, which is what any\n * kind-aware renderer already switches on. An unrecognised value carries no\n * kind rather than an invented one.\n */\nfunction semanticToKind(semantic?: string): { kind: string } | undefined {\n const value = semantic?.trim().toLowerCase();\n if (!value) {\n return undefined;\n }\n return (CALLOUT_SEMANTICS as readonly string[]).includes(value)\n ? { kind: value.toUpperCase() }\n : undefined;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -46,13 +46,19 @@ export function createSdkRegistry() {
|
|
|
46
46
|
// Collection entities are claimed by their own definition first — it is a
|
|
47
47
|
// strictly narrower match than EntitySectionDefinition, which would
|
|
48
48
|
// otherwise swallow collection, product and article blocks alike.
|
|
49
|
-
.register(new EntityCollectionSectionDefinition()).register(new EntitySectionDefinition()).register(new HeroEntitySectionDefinition()).register(new HeroSectionDefinition()).register(new FeatureCardsSectionDefinition()).register(new ListItemsSectionDefinition()).register(new FeatureSection9PlusDefinition()).register(new ComparisonSectionDefinition())
|
|
49
|
+
.register(new EntityCollectionSectionDefinition()).register(new EntitySectionDefinition()).register(new HeroEntitySectionDefinition()).register(new HeroSectionDefinition()).register(new FeatureCardsSectionDefinition()).register(new ListItemsSectionDefinition()).register(new FeatureSection9PlusDefinition()).register(new ComparisonSectionDefinition())
|
|
50
|
+
// Callout sits above HtmlComment: a callout block opens with its own
|
|
51
|
+
// `<!-- section:callout -->` descriptor, and HtmlComment's bare
|
|
52
|
+
// `html_comment` pattern would match that comment alone. A pattern may
|
|
53
|
+
// match a PREFIX of a block, so HtmlComment would claim the descriptor
|
|
54
|
+
// and strand the prose below it in the fallback, unstyled.
|
|
55
|
+
.register(new CalloutSectionDefinition()).register(new HtmlCommentSectionDefinition()).register(new CtaBannerSectionDefinition())
|
|
50
56
|
// textBlock comes after every definition whose block opens `h2 > t`
|
|
51
57
|
// (entity, listItems, featureCards, ctaBanner, comparison, …). Its
|
|
52
58
|
// trailing callout is optional, so its pattern also matches a bare
|
|
53
59
|
// `h2 > t`, and a pattern matches a PREFIX of the block — registered
|
|
54
60
|
// above those it would claim the heading + intro paragraph and strand
|
|
55
61
|
// the list / links / table that follow in a separate section.
|
|
56
|
-
.register(new TextBlockSectionDefinition()).register(new
|
|
62
|
+
.register(new TextBlockSectionDefinition()).register(new FallbackSectionDefinition()).register(new ErrorSectionDefinition());
|
|
57
63
|
}
|
|
58
64
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ComparisonSectionDefinition","TextBlockSectionDefinition","HeroSectionDefinition","HeroEntitySectionDefinition","KpiSectionDefinition","FeatureCardsSectionDefinition","EntitySectionDefinition","EntityCollectionSectionDefinition","CtaBannerSectionDefinition","CalloutSectionDefinition","NextStepsSectionDefinition","FeatureSection9PlusDefinition","ListItemsSectionDefinition","SkipNodesSectionDefinition","HtmlCommentSectionDefinition","SearchSectionDefinition","ErrorSectionDefinition","FallbackSectionDefinition","ComponentRegistry","createSdkRegistry","register"],"sources":["../../../../src/component/componentDefinitions/index.ts"],"sourcesContent":["export type { SectionDefinition } from '../section-definition';\nexport { ComparisonSectionDefinition } from './ComparisonSectionDefinition';\nexport { TextBlockSectionDefinition } from './TextBlockSectionDefinition';\nexport { HeroSectionDefinition } from './HeroSectionDefinition';\nexport { HeroEntitySectionDefinition } from './HeroEntitySectionDefinition';\nexport { KpiSectionDefinition } from './KpiSectionDefinition';\nexport { FeatureCardsSectionDefinition } from './FeatureCardsSectionDefinition';\nexport { EntitySectionDefinition } from './EntitySectionDefinition';\nexport { EntityCollectionSectionDefinition } from './EntityCollectionSectionDefinition';\nexport { CtaBannerSectionDefinition } from './CtaBannerSectionDefinition';\nexport { CalloutSectionDefinition } from './CalloutSectionDefinition';\nexport { NextStepsSectionDefinition } from './NextStepsSectionDefinition';\nexport { FeatureSection9PlusDefinition } from './FeatureSection9PlusDefinition';\nexport { ListItemsSectionDefinition } from './listItemsSectionDefinition';\nexport { SkipNodesSectionDefinition } from './SkipNodesSectionDefinition';\nexport { HtmlCommentSectionDefinition } from './HtmlCommentSectionDefinition';\nexport { SearchSectionDefinition } from './SearchSectionDefinition';\nexport { ErrorSectionDefinition } from './ErrorSectionDefinition';\nexport { FallbackSectionDefinition } from './FallbackSectionDefinition';\n\nimport { ComponentRegistry } from '../../registry';\nimport { SkipNodesSectionDefinition } from './SkipNodesSectionDefinition';\nimport { SearchSectionDefinition } from './SearchSectionDefinition';\nimport { KpiSectionDefinition } from './KpiSectionDefinition';\nimport { NextStepsSectionDefinition } from './NextStepsSectionDefinition';\nimport { EntitySectionDefinition } from './EntitySectionDefinition';\nimport { EntityCollectionSectionDefinition } from './EntityCollectionSectionDefinition';\nimport { HeroEntitySectionDefinition } from './HeroEntitySectionDefinition';\nimport { HeroSectionDefinition } from './HeroSectionDefinition';\nimport { FeatureCardsSectionDefinition } from './FeatureCardsSectionDefinition';\nimport { FeatureSection9PlusDefinition } from './FeatureSection9PlusDefinition';\nimport { ListItemsSectionDefinition } from './listItemsSectionDefinition';\nimport { ComparisonSectionDefinition } from './ComparisonSectionDefinition';\nimport { HtmlCommentSectionDefinition } from './HtmlCommentSectionDefinition';\nimport { CtaBannerSectionDefinition } from './CtaBannerSectionDefinition';\nimport { CalloutSectionDefinition } from './CalloutSectionDefinition';\nimport { FallbackSectionDefinition } from './FallbackSectionDefinition';\nimport { ErrorSectionDefinition } from './ErrorSectionDefinition';\nimport { TextBlockSectionDefinition } from './TextBlockSectionDefinition';\n\n/**\n * Creates an SDK registry with all section definitions registered in the\n * same priority order as the app registry (createAppRegistry.ts).\n * Registration order determines evaluation priority — first match wins.\n */\nexport function createSdkRegistry(): ComponentRegistry<null> {\n return (\n new ComponentRegistry<null>(null)\n .register(new SkipNodesSectionDefinition())\n .register(new SearchSectionDefinition())\n .register(new KpiSectionDefinition())\n .register(new NextStepsSectionDefinition())\n // Collection entities are claimed by their own definition first — it is a\n // strictly narrower match than EntitySectionDefinition, which would\n // otherwise swallow collection, product and article blocks alike.\n .register(new EntityCollectionSectionDefinition())\n .register(new EntitySectionDefinition())\n .register(new HeroEntitySectionDefinition())\n .register(new HeroSectionDefinition())\n .register(new FeatureCardsSectionDefinition())\n .register(new ListItemsSectionDefinition())\n .register(new FeatureSection9PlusDefinition())\n .register(new ComparisonSectionDefinition())\n .register(new HtmlCommentSectionDefinition())\n .register(new CtaBannerSectionDefinition())\n // textBlock comes after every definition whose block opens `h2 > t`\n // (entity, listItems, featureCards, ctaBanner, comparison, …). Its\n // trailing callout is optional, so its pattern also matches a bare\n // `h2 > t`, and a pattern matches a PREFIX of the block — registered\n // above those it would claim the heading + intro paragraph and strand\n // the list / links / table that follow in a separate section.\n .register(new TextBlockSectionDefinition())\n .register(new
|
|
1
|
+
{"version":3,"names":["ComparisonSectionDefinition","TextBlockSectionDefinition","HeroSectionDefinition","HeroEntitySectionDefinition","KpiSectionDefinition","FeatureCardsSectionDefinition","EntitySectionDefinition","EntityCollectionSectionDefinition","CtaBannerSectionDefinition","CalloutSectionDefinition","NextStepsSectionDefinition","FeatureSection9PlusDefinition","ListItemsSectionDefinition","SkipNodesSectionDefinition","HtmlCommentSectionDefinition","SearchSectionDefinition","ErrorSectionDefinition","FallbackSectionDefinition","ComponentRegistry","createSdkRegistry","register"],"sources":["../../../../src/component/componentDefinitions/index.ts"],"sourcesContent":["export type { SectionDefinition } from '../section-definition';\nexport { ComparisonSectionDefinition } from './ComparisonSectionDefinition';\nexport { TextBlockSectionDefinition } from './TextBlockSectionDefinition';\nexport { HeroSectionDefinition } from './HeroSectionDefinition';\nexport { HeroEntitySectionDefinition } from './HeroEntitySectionDefinition';\nexport { KpiSectionDefinition } from './KpiSectionDefinition';\nexport { FeatureCardsSectionDefinition } from './FeatureCardsSectionDefinition';\nexport { EntitySectionDefinition } from './EntitySectionDefinition';\nexport { EntityCollectionSectionDefinition } from './EntityCollectionSectionDefinition';\nexport { CtaBannerSectionDefinition } from './CtaBannerSectionDefinition';\nexport { CalloutSectionDefinition } from './CalloutSectionDefinition';\nexport { NextStepsSectionDefinition } from './NextStepsSectionDefinition';\nexport { FeatureSection9PlusDefinition } from './FeatureSection9PlusDefinition';\nexport { ListItemsSectionDefinition } from './listItemsSectionDefinition';\nexport { SkipNodesSectionDefinition } from './SkipNodesSectionDefinition';\nexport { HtmlCommentSectionDefinition } from './HtmlCommentSectionDefinition';\nexport { SearchSectionDefinition } from './SearchSectionDefinition';\nexport { ErrorSectionDefinition } from './ErrorSectionDefinition';\nexport { FallbackSectionDefinition } from './FallbackSectionDefinition';\n\nimport { ComponentRegistry } from '../../registry';\nimport { SkipNodesSectionDefinition } from './SkipNodesSectionDefinition';\nimport { SearchSectionDefinition } from './SearchSectionDefinition';\nimport { KpiSectionDefinition } from './KpiSectionDefinition';\nimport { NextStepsSectionDefinition } from './NextStepsSectionDefinition';\nimport { EntitySectionDefinition } from './EntitySectionDefinition';\nimport { EntityCollectionSectionDefinition } from './EntityCollectionSectionDefinition';\nimport { HeroEntitySectionDefinition } from './HeroEntitySectionDefinition';\nimport { HeroSectionDefinition } from './HeroSectionDefinition';\nimport { FeatureCardsSectionDefinition } from './FeatureCardsSectionDefinition';\nimport { FeatureSection9PlusDefinition } from './FeatureSection9PlusDefinition';\nimport { ListItemsSectionDefinition } from './listItemsSectionDefinition';\nimport { ComparisonSectionDefinition } from './ComparisonSectionDefinition';\nimport { HtmlCommentSectionDefinition } from './HtmlCommentSectionDefinition';\nimport { CtaBannerSectionDefinition } from './CtaBannerSectionDefinition';\nimport { CalloutSectionDefinition } from './CalloutSectionDefinition';\nimport { FallbackSectionDefinition } from './FallbackSectionDefinition';\nimport { ErrorSectionDefinition } from './ErrorSectionDefinition';\nimport { TextBlockSectionDefinition } from './TextBlockSectionDefinition';\n\n/**\n * Creates an SDK registry with all section definitions registered in the\n * same priority order as the app registry (createAppRegistry.ts).\n * Registration order determines evaluation priority — first match wins.\n */\nexport function createSdkRegistry(): ComponentRegistry<null> {\n return (\n new ComponentRegistry<null>(null)\n .register(new SkipNodesSectionDefinition())\n .register(new SearchSectionDefinition())\n .register(new KpiSectionDefinition())\n .register(new NextStepsSectionDefinition())\n // Collection entities are claimed by their own definition first — it is a\n // strictly narrower match than EntitySectionDefinition, which would\n // otherwise swallow collection, product and article blocks alike.\n .register(new EntityCollectionSectionDefinition())\n .register(new EntitySectionDefinition())\n .register(new HeroEntitySectionDefinition())\n .register(new HeroSectionDefinition())\n .register(new FeatureCardsSectionDefinition())\n .register(new ListItemsSectionDefinition())\n .register(new FeatureSection9PlusDefinition())\n .register(new ComparisonSectionDefinition())\n // Callout sits above HtmlComment: a callout block opens with its own\n // `<!-- section:callout -->` descriptor, and HtmlComment's bare\n // `html_comment` pattern would match that comment alone. A pattern may\n // match a PREFIX of a block, so HtmlComment would claim the descriptor\n // and strand the prose below it in the fallback, unstyled.\n .register(new CalloutSectionDefinition())\n .register(new HtmlCommentSectionDefinition())\n .register(new CtaBannerSectionDefinition())\n // textBlock comes after every definition whose block opens `h2 > t`\n // (entity, listItems, featureCards, ctaBanner, comparison, …). Its\n // trailing callout is optional, so its pattern also matches a bare\n // `h2 > t`, and a pattern matches a PREFIX of the block — registered\n // above those it would claim the heading + intro paragraph and strand\n // the list / links / table that follow in a separate section.\n .register(new TextBlockSectionDefinition())\n .register(new FallbackSectionDefinition())\n .register(new ErrorSectionDefinition())\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -220,23 +220,31 @@ function appendInlineToken(current, token) {
|
|
|
220
220
|
}
|
|
221
221
|
|
|
222
222
|
/**
|
|
223
|
-
* Serialize a run of inline parts back to markdown, preserving links
|
|
223
|
+
* Serialize a run of inline parts back to markdown, preserving links and
|
|
224
|
+
* inline emphasis.
|
|
224
225
|
*
|
|
225
226
|
* Concatenating `part.content` alone silently deletes links: a `link` part
|
|
226
227
|
* keeps its label in `content` and its url in `meta.href`, so a filter that
|
|
227
228
|
* reads only text parts turns `Read the [pricing page](/pricing) first` into
|
|
228
229
|
* `Read the first` — url and label both vanish, with nothing in the output to
|
|
229
230
|
* show anything was lost.
|
|
231
|
+
*
|
|
232
|
+
* `content` is also the *plain* text of a text part — `nodesToParts` strips
|
|
233
|
+
* inline formatting and keeps the original in `meta.markdown` whenever the two
|
|
234
|
+
* differ. Reading `content` therefore drops emphasis the same way it used to
|
|
235
|
+
* drop links: `The **4 oz size** is best` becomes `The 4 oz size is best`.
|
|
236
|
+
* Prefer `meta.markdown`, which is exactly the segment's own markdown.
|
|
230
237
|
*/
|
|
231
238
|
export function inlinePartsToMarkdown(parts) {
|
|
232
239
|
return parts.reduce((text, part) => {
|
|
240
|
+
var _part$meta;
|
|
233
241
|
if (part.type === 'link') {
|
|
234
242
|
var _meta2, _part$content;
|
|
235
243
|
const href = ((_meta2 = part.meta) == null ? void 0 : _meta2.href) ?? '';
|
|
236
244
|
const label = ((_part$content = part.content) == null ? void 0 : _part$content.trim()) ?? '';
|
|
237
245
|
return appendInlineToken(text, href ? `[${label}](${href})` : label);
|
|
238
246
|
}
|
|
239
|
-
return appendInlineToken(text, part.content ?? '');
|
|
247
|
+
return appendInlineToken(text, ((_part$meta = part.meta) == null ? void 0 : _part$meta.markdown) ?? part.content ?? '');
|
|
240
248
|
}, '');
|
|
241
249
|
}
|
|
242
250
|
export function extractListItemText(item) {
|
|
@@ -260,14 +268,14 @@ export function extractListItemText(item) {
|
|
|
260
268
|
*/
|
|
261
269
|
export function partsToMarkdown(sectionParts) {
|
|
262
270
|
const inline = part => {
|
|
263
|
-
var _part$
|
|
264
|
-
return ((_part$
|
|
271
|
+
var _part$meta2;
|
|
272
|
+
return ((_part$meta2 = part.meta) == null ? void 0 : _part$meta2.markdown) ?? part.content;
|
|
265
273
|
};
|
|
266
274
|
const lines = [];
|
|
267
275
|
for (const part of sectionParts) {
|
|
268
276
|
if (part.type === 'heading') {
|
|
269
|
-
var _part$
|
|
270
|
-
const level = ((_part$
|
|
277
|
+
var _part$meta3;
|
|
278
|
+
const level = ((_part$meta3 = part.meta) == null ? void 0 : _part$meta3.level) ?? 2;
|
|
271
279
|
lines.push(`${'#'.repeat(level)} ${inline(part)}`);
|
|
272
280
|
} else if (part.type === 'text' || part.type === 'richText') {
|
|
273
281
|
lines.push(inline(part));
|