@wix/web5-core 1.57.2 → 1.59.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/client/applyThemeOverrides.js +89 -0
- package/dist/cjs/client/applyThemeOverrides.js.map +1 -0
- package/dist/cjs/client/clientBundleUrl.js +83 -0
- package/dist/cjs/client/clientBundleUrl.js.map +1 -0
- package/dist/cjs/client/mergeClientConfig.js +59 -0
- package/dist/cjs/client/mergeClientConfig.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/EntityCollectionSectionDefinition.js +159 -0
- package/dist/cjs/component/componentDefinitions/EntityCollectionSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/HeroEntitySectionDefinition.js +5 -2
- package/dist/cjs/component/componentDefinitions/HeroEntitySectionDefinition.js.map +1 -1
- package/dist/cjs/component/componentDefinitions/HeroSectionDefinition.js +4 -1
- package/dist/cjs/component/componentDefinitions/HeroSectionDefinition.js.map +1 -1
- package/dist/cjs/component/componentDefinitions/NextStepsSectionDefinition.js +35 -2
- package/dist/cjs/component/componentDefinitions/NextStepsSectionDefinition.js.map +1 -1
- package/dist/cjs/component/componentDefinitions/TextBlockSectionDefinition.js +27 -1
- package/dist/cjs/component/componentDefinitions/TextBlockSectionDefinition.js.map +1 -1
- package/dist/cjs/component/componentDefinitions/index.js +14 -1
- package/dist/cjs/component/componentDefinitions/index.js.map +1 -1
- package/dist/cjs/component/componentParser.js +38 -1
- package/dist/cjs/component/componentParser.js.map +1 -1
- package/dist/cjs/component/types.js.map +1 -1
- package/dist/cjs/components/ui/SearchSection.css +66 -9
- package/dist/cjs/components/ui/SearchSection.js +23 -19
- package/dist/cjs/components/ui/SearchSection.js.map +1 -1
- package/dist/cjs/hostScope.js.map +1 -1
- package/dist/cjs/index.js +23 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/styles/prompt-input-tokens.css +41 -34
- package/dist/cjs/utils/matchDebug.js +93 -0
- package/dist/cjs/utils/matchDebug.js.map +1 -0
- package/dist/esm/client/applyThemeOverrides.js +85 -0
- package/dist/esm/client/applyThemeOverrides.js.map +1 -0
- package/dist/esm/client/clientBundleUrl.js +75 -0
- package/dist/esm/client/clientBundleUrl.js.map +1 -0
- package/dist/esm/client/mergeClientConfig.js +55 -0
- package/dist/esm/client/mergeClientConfig.js.map +1 -0
- package/dist/esm/component/componentDefinitions/EntityCollectionSectionDefinition.js +154 -0
- package/dist/esm/component/componentDefinitions/EntityCollectionSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/HeroEntitySectionDefinition.js +6 -3
- package/dist/esm/component/componentDefinitions/HeroEntitySectionDefinition.js.map +1 -1
- package/dist/esm/component/componentDefinitions/HeroSectionDefinition.js +5 -2
- package/dist/esm/component/componentDefinitions/HeroSectionDefinition.js.map +1 -1
- package/dist/esm/component/componentDefinitions/NextStepsSectionDefinition.js +36 -3
- package/dist/esm/component/componentDefinitions/NextStepsSectionDefinition.js.map +1 -1
- package/dist/esm/component/componentDefinitions/TextBlockSectionDefinition.js +27 -1
- package/dist/esm/component/componentDefinitions/TextBlockSectionDefinition.js.map +1 -1
- package/dist/esm/component/componentDefinitions/index.js +14 -1
- package/dist/esm/component/componentDefinitions/index.js.map +1 -1
- package/dist/esm/component/componentParser.js +38 -1
- package/dist/esm/component/componentParser.js.map +1 -1
- package/dist/esm/component/types.js.map +1 -1
- package/dist/esm/components/ui/SearchSection.css +66 -9
- package/dist/esm/components/ui/SearchSection.js +5 -1
- package/dist/esm/components/ui/SearchSection.js.map +1 -1
- package/dist/esm/hostScope.js.map +1 -1
- package/dist/esm/index.js +9 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/styles/prompt-input-tokens.css +41 -34
- package/dist/esm/utils/matchDebug.js +85 -0
- package/dist/esm/utils/matchDebug.js.map +1 -0
- package/dist/types/client/applyThemeOverrides.d.ts +19 -0
- package/dist/types/client/applyThemeOverrides.d.ts.map +1 -0
- package/dist/types/client/clientBundleUrl.d.ts +39 -0
- package/dist/types/client/clientBundleUrl.d.ts.map +1 -0
- package/dist/types/client/mergeClientConfig.d.ts +28 -0
- package/dist/types/client/mergeClientConfig.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/EntityCollectionSectionDefinition.d.ts +51 -0
- package/dist/types/component/componentDefinitions/EntityCollectionSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/HeroEntitySectionDefinition.d.ts.map +1 -1
- package/dist/types/component/componentDefinitions/HeroSectionDefinition.d.ts.map +1 -1
- package/dist/types/component/componentDefinitions/NextStepsSectionDefinition.d.ts.map +1 -1
- package/dist/types/component/componentDefinitions/TextBlockSectionDefinition.d.ts.map +1 -1
- package/dist/types/component/componentDefinitions/index.d.ts +1 -0
- package/dist/types/component/componentDefinitions/index.d.ts.map +1 -1
- package/dist/types/component/componentParser.d.ts.map +1 -1
- package/dist/types/component/types.d.ts +7 -0
- package/dist/types/component/types.d.ts.map +1 -1
- package/dist/types/components/ui/SearchSection.d.ts.map +1 -1
- package/dist/types/hostScope.d.ts +11 -0
- package/dist/types/hostScope.d.ts.map +1 -1
- package/dist/types/index.d.ts +5 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/utils/matchDebug.d.ts +38 -0
- package/dist/types/utils/matchDebug.d.ts.map +1 -0
- package/package.json +2 -2
- package/src/components/ui/SearchSection.css +66 -9
- package/src/styles/prompt-input-tokens.css +41 -34
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CLIENT_IDS","EXPERIMENT_IDS","createFeatureToggleReader","FeatureToggleProvider","useFeatureToggles","useFeatureToggle","getPartsByType","getPartByRole","getAllByRole","getHeading","getImages","getLinks","extractContent","extractContentMarkdown","deriveRole","DIAGNOSTIC_TYPES","buildImageSearchFilter","ImageSearchFilterToken","backgroundFilter","HeroSectionDefinition","HeroEntitySectionDefinition","KpiSectionDefinition","FeatureCardsSectionDefinition","EntitySectionDefinition","ComparisonSectionDefinition","TextBlockSectionDefinition","CtaBannerSectionDefinition","CalloutSectionDefinition","NextStepsSectionDefinition","FeatureSection9PlusDefinition","ListItemsSectionDefinition","SkipNodesSectionDefinition","HtmlCommentSectionDefinition","SearchSectionDefinition","ErrorSectionDefinition","FallbackSectionDefinition","createSdkRegistry","ComponentRegistry","validatePattern","validatePatternSyntax","validatePatternWithBlocks","convertToBlockElements","convertToBlockElementsWithMapping","Web5UrlType","isWeb5AskUrl","isWeb5EntityUrl","isWeb5ImageUrl","isWeb5IconUrl","isWeb5ActionUrl","isWeb5SearchUrl","isWeb5Url","isNavigableUrl","isValidLinkUrl","isLegacyUrl","parseWeb5Url","isValidWeb5Url","validateLinkUrl","isEntityLink","parseEntityLink","extractProtocol","extractLinkMetadata","findInvalidWeb5Links","hasImage","isHtmlComment","matchMarkdown","matchAllSections","nodesToParts","ComponentDependenciesProvider","useComponentDependencies","UserQueryProvider","useUserQuery","ChipsProvider","useChips","defaultExtractor","enrichEntitiesFromPayload","fetchEntityListData","listEntityItems","LIST_ITEMS_ENDPOINT","getEntityExtractor","registerEntityExtractor","transformToSolutionEntityData","transformToBlogPostEntityData","transformToGenericEntityData","CALLOUT_KINDS","useWeb5Link","useConversation","useDebugImageContext","useResolvedImageSources","useResolveGenericEntityData","useEntityTransforms","useMarkdownUtils","useResolveShopifyEntityData","useResolveSearchSpringEntityData","fetchProductsByHandles","fetchProductsByHandlesMap","transformSSProductToEntityItemData","addToCart","ShopifyStorefrontClient","resolveShopifyConfig","resolveShopifyEntity","transformShopifyProduct","transformShopifyCollection","transformShopifyArticle","transformShopifyEntityToItemData","PRODUCT_BY_HANDLE_QUERY","COLLECTION_BY_HANDLE_QUERY","ARTICLE_BY_HANDLE_QUERY","cn","normalizeImageUrl","getResizedImageUrl","analyzeBackdrop","computeContentBBox","buildProbeUrl","loadImagePixels","loadBackdropAnalysis","stripMarkdown","rgbToHsl","hslToRgb","ensureMinLightness","toRgb","deriveDarkColor","deriveDarkGradient","deriveLightColor","pushEvent","pushPromptSubmit","pushLinkClick","pushError","pushExit","pushEntityFiltered","hasAnalyticsConsent","ERROR_MARKDOWN","getErrorTypeFromStatus","createErrorMarkdown","STREAMING_TIMEOUT_MS","DEFAULT_ERROR_TEMPLATES","resolveErrorTemplate","getForwardStack","setForwardStack","clearForwardStack","pushToForwardStack","popFromForwardStack","UserQuery","PRODUCT_BACK_SESSION_KEY","writeProductBackHandoff","readProductBackHandoff","PromptEntryEmptyState","SearchSection","FeedbackBar","Disclaimer","BottomContainer","MarkdownText","CalloutBlock","OptimizedImage","SectionSkeleton","SmartIcon","Loader","PlacementLoader","UnifiedLink","detectLinkType","LinkType","Table","TableHeader","TableBody","TableFooter","TableHead","TableRow","TableCell","TableCaption","WEB5_USER_QUERY_EVENT","WEB5_ANSWER_UPDATED_EVENT","WEB5_REDIRECT_EVENT","loadClientBundle","getClientBundleOverride","isTrustedBundleHost","PlacementResponseRenderer","PlacementSmoothHeight","buildPlacementDependencies","PlacementPayloadProvider","usePlacementPayload","UnifiedMarkdownParser","parseMarkdownToAst","parseAstToMarkdown","escapeWeb5Links","fixMalformedLinks","trimTrailingWhitespace","normalizeIconUrls","decodeLinkText","preprocessMarkdown","ComponentTracking","findKeywordsInContent","getContextualImageFilename","extractIntentFromMarkdown","getIntentFromMarkdown","createPageSection","generateSectionId","generateId","findImageInNode","findImageInChildren","DiagnosticsCollector","REFRESH_PROMPTS_UNTIL_KEY","REFRESH_PROMPTS_WINDOW_MS","getRefreshPromptsExpiry","shouldRefreshPrompts","enableRefreshPrompts","disableRefreshPrompts","BACKEND_ENVIRONMENT_KEY","BACKEND_ENVIRONMENT_QUERY_PARAM","DEFAULT_BACKEND_ENVIRONMENT","getBackendEnvironment","setBackendEnvironment","usesStagingBackend","createWixAuthFetch","getOrCreateSessionId","getSessionId","getChatId","startNewChatId","setChatId","resetChatIdForTests","parseMarkdownToComponents","tryParseComponent","mergeSectionsWithStableReferences","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} 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 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} from './entity';\nexport type {\n EntityExtractor,\n FetchEntityListDataOptions,\n ListEntityItemsOptions,\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// 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 { 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":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["CLIENT_IDS","EXPERIMENT_IDS","createFeatureToggleReader","FeatureToggleProvider","useFeatureToggles","useFeatureToggle","getPartsByType","getPartByRole","getAllByRole","getHeading","getImages","getLinks","extractContent","extractContentMarkdown","deriveRole","DIAGNOSTIC_TYPES","buildImageSearchFilter","ImageSearchFilterToken","backgroundFilter","HeroSectionDefinition","HeroEntitySectionDefinition","KpiSectionDefinition","FeatureCardsSectionDefinition","EntitySectionDefinition","EntityCollectionSectionDefinition","ComparisonSectionDefinition","TextBlockSectionDefinition","CtaBannerSectionDefinition","CalloutSectionDefinition","NextStepsSectionDefinition","FeatureSection9PlusDefinition","ListItemsSectionDefinition","SkipNodesSectionDefinition","HtmlCommentSectionDefinition","SearchSectionDefinition","ErrorSectionDefinition","FallbackSectionDefinition","createSdkRegistry","ComponentRegistry","validatePattern","validatePatternSyntax","validatePatternWithBlocks","convertToBlockElements","convertToBlockElementsWithMapping","Web5UrlType","isWeb5AskUrl","isWeb5EntityUrl","isWeb5ImageUrl","isWeb5IconUrl","isWeb5ActionUrl","isWeb5SearchUrl","isWeb5Url","isNavigableUrl","isValidLinkUrl","isLegacyUrl","parseWeb5Url","isValidWeb5Url","validateLinkUrl","isEntityLink","parseEntityLink","extractProtocol","extractLinkMetadata","findInvalidWeb5Links","hasImage","isHtmlComment","matchMarkdown","matchAllSections","nodesToParts","ComponentDependenciesProvider","useComponentDependencies","UserQueryProvider","useUserQuery","ChipsProvider","useChips","defaultExtractor","enrichEntitiesFromPayload","fetchEntityListData","listEntityItems","LIST_ITEMS_ENDPOINT","getEntityExtractor","registerEntityExtractor","transformToSolutionEntityData","transformToBlogPostEntityData","transformToGenericEntityData","CALLOUT_KINDS","useWeb5Link","useConversation","useDebugImageContext","useResolvedImageSources","useResolveGenericEntityData","useEntityTransforms","useMarkdownUtils","useResolveShopifyEntityData","useResolveSearchSpringEntityData","fetchProductsByHandles","fetchProductsByHandlesMap","transformSSProductToEntityItemData","addToCart","ShopifyStorefrontClient","resolveShopifyConfig","resolveShopifyEntity","transformShopifyProduct","transformShopifyCollection","transformShopifyArticle","transformShopifyEntityToItemData","PRODUCT_BY_HANDLE_QUERY","COLLECTION_BY_HANDLE_QUERY","ARTICLE_BY_HANDLE_QUERY","cn","normalizeImageUrl","getResizedImageUrl","analyzeBackdrop","computeContentBBox","buildProbeUrl","loadImagePixels","loadBackdropAnalysis","stripMarkdown","rgbToHsl","hslToRgb","ensureMinLightness","toRgb","deriveDarkColor","deriveDarkGradient","deriveLightColor","pushEvent","pushPromptSubmit","pushLinkClick","pushError","pushExit","pushEntityFiltered","hasAnalyticsConsent","ERROR_MARKDOWN","getErrorTypeFromStatus","createErrorMarkdown","STREAMING_TIMEOUT_MS","DEFAULT_ERROR_TEMPLATES","resolveErrorTemplate","getForwardStack","setForwardStack","clearForwardStack","pushToForwardStack","popFromForwardStack","UserQuery","PRODUCT_BACK_SESSION_KEY","writeProductBackHandoff","readProductBackHandoff","PromptEntryEmptyState","SearchSection","FeedbackBar","Disclaimer","BottomContainer","MarkdownText","CalloutBlock","OptimizedImage","SectionSkeleton","SmartIcon","Loader","PlacementLoader","UnifiedLink","detectLinkType","LinkType","Table","TableHeader","TableBody","TableFooter","TableHead","TableRow","TableCell","TableCaption","WEB5_USER_QUERY_EVENT","WEB5_ANSWER_UPDATED_EVENT","WEB5_REDIRECT_EVENT","loadClientBundle","getClientBundleOverride","isTrustedBundleHost","TEMPLATES_CDN_BASE","TEMPLATES_MANIFEST_URL","getTemplateOverride","isTemplatePickerRequested","isValidTemplateId","resolveClientBundleUrl","mergeClientConfig","applyThemeOverrides","THEME_OVERRIDE_TOKENS","PlacementResponseRenderer","PlacementSmoothHeight","buildPlacementDependencies","PlacementPayloadProvider","usePlacementPayload","UnifiedMarkdownParser","parseMarkdownToAst","parseAstToMarkdown","escapeWeb5Links","fixMalformedLinks","trimTrailingWhitespace","normalizeIconUrls","decodeLinkText","preprocessMarkdown","ComponentTracking","findKeywordsInContent","getContextualImageFilename","extractIntentFromMarkdown","getIntentFromMarkdown","createPageSection","generateSectionId","generateId","findImageInNode","findImageInChildren","DiagnosticsCollector","REFRESH_PROMPTS_UNTIL_KEY","REFRESH_PROMPTS_WINDOW_MS","getRefreshPromptsExpiry","shouldRefreshPrompts","enableRefreshPrompts","disableRefreshPrompts","BACKEND_ENVIRONMENT_KEY","BACKEND_ENVIRONMENT_QUERY_PARAM","DEFAULT_BACKEND_ENVIRONMENT","getBackendEnvironment","setBackendEnvironment","usesStagingBackend","MATCH_DEBUG_KEY","MATCH_DEBUG_QUERY_PARAM","isMatchDebugEnabled","setMatchDebug","resetMatchDebugCache","logMatchDebug","createWixAuthFetch","getOrCreateSessionId","getSessionId","getChatId","startNewChatId","setChatId","resetChatIdForTests","parseMarkdownToComponents","tryParseComponent","mergeSectionsWithStableReferences","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} 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} from './entity';\nexport type {\n EntityExtractor,\n FetchEntityListDataOptions,\n ListEntityItemsOptions,\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';\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 {\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":"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","ignoreList":[]}
|
|
@@ -56,53 +56,60 @@
|
|
|
56
56
|
);
|
|
57
57
|
--pi-home-entry-panel-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
|
|
58
58
|
--pi-home-entry-panel-blur: 20px;
|
|
59
|
-
|
|
59
|
+
/* Idle pill width; widens to `--pi-content-max-w-focused` while the field
|
|
60
|
+
(or a chip) holds focus. */
|
|
61
|
+
--pi-content-max-w: 320px;
|
|
62
|
+
--pi-content-max-w-focused: 550px;
|
|
60
63
|
--pi-content-min-w: 250px;
|
|
61
64
|
--pi-stack-gap: 15px;
|
|
62
|
-
--pi-chip-gap:
|
|
65
|
+
--pi-chip-gap: 6px;
|
|
63
66
|
--pi-chip-mobile-gap: 0;
|
|
64
67
|
--pi-chip-mobile-overflow-y: scroll;
|
|
65
|
-
--pi-field-min-h:
|
|
66
|
-
--pi-field-max-h:
|
|
67
|
-
--pi-field-border-width:
|
|
68
|
+
--pi-field-min-h: 48px;
|
|
69
|
+
--pi-field-max-h: 200px;
|
|
70
|
+
--pi-field-border-width: 0;
|
|
68
71
|
--pi-home-entry-field-radius: 10px;
|
|
69
|
-
--pi-field-radius-pill:
|
|
70
|
-
--pi-field-radius-multiline:
|
|
71
|
-
--pi-field-border:
|
|
72
|
-
--pi-field-bg:
|
|
73
|
-
|
|
74
|
-
--pi-field-
|
|
75
|
-
--pi-field-padding-
|
|
76
|
-
--pi-field-padding-
|
|
77
|
-
--pi-field-padding-
|
|
72
|
+
--pi-field-radius-pill: 24px;
|
|
73
|
+
--pi-field-radius-multiline: 24px;
|
|
74
|
+
--pi-field-border: transparent;
|
|
75
|
+
--pi-field-bg: rgba(255, 255, 255, 0.9);
|
|
76
|
+
/* Frosted pill: the host page shows through the translucent `--pi-field-bg`. */
|
|
77
|
+
--pi-field-blur: 10px;
|
|
78
|
+
--pi-field-padding-top: 13px;
|
|
79
|
+
--pi-field-padding-right: 10px;
|
|
80
|
+
--pi-field-padding-bottom: 13px;
|
|
81
|
+
--pi-field-padding-left: 26px;
|
|
82
|
+
--pi-field-padding-top-multiline: 16px;
|
|
78
83
|
--pi-field-text: #2b2b2b;
|
|
79
|
-
--pi-field-placeholder: #
|
|
84
|
+
--pi-field-placeholder: #6c6f74;
|
|
80
85
|
--pi-field-caret: #2b2b2b;
|
|
81
86
|
--pi-field-font-family: Poppins, ui-sans-serif, sans-serif, system-ui;
|
|
82
|
-
--pi-field-font-size:
|
|
83
|
-
--pi-field-line-height:
|
|
84
|
-
--pi-field-line-height-multiline:
|
|
85
|
-
--pi-field-shadow: 0
|
|
86
|
-
0
|
|
87
|
-
--pi-chip-padding-y:
|
|
88
|
-
--pi-chip-padding-x:
|
|
89
|
-
--pi-chip-radius:
|
|
87
|
+
--pi-field-font-size: 14px;
|
|
88
|
+
--pi-field-line-height: 21px;
|
|
89
|
+
--pi-field-line-height-multiline: 21px;
|
|
90
|
+
--pi-field-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.05),
|
|
91
|
+
0 1px 3px 0 rgba(9, 14, 21, 0.2), 0 6px 14px 0 rgba(0, 0, 0, 0.24);
|
|
92
|
+
--pi-chip-padding-y: 8px;
|
|
93
|
+
--pi-chip-padding-x: 16px;
|
|
94
|
+
--pi-chip-radius: 20px;
|
|
90
95
|
--pi-chip-border: transparent;
|
|
91
|
-
--pi-chip-bg:
|
|
92
|
-
--pi-chip-text: #
|
|
96
|
+
--pi-chip-bg: rgba(42, 42, 42, 0.5);
|
|
97
|
+
--pi-chip-text: #ffffff;
|
|
98
|
+
--pi-chip-blur: 100px;
|
|
93
99
|
--pi-chip-font-size: 14px;
|
|
94
|
-
--pi-chip-line-height:
|
|
95
|
-
--pi-chip-shadow: 0
|
|
96
|
-
|
|
97
|
-
--pi-chip-hover-bg: #f6f6f6;
|
|
100
|
+
--pi-chip-line-height: 20px;
|
|
101
|
+
--pi-chip-shadow: 0 1px 2px 0 rgba(9, 14, 21, 0.2);
|
|
102
|
+
--pi-chip-hover-bg: rgba(42, 42, 42, 0.58);
|
|
98
103
|
--pi-chip-hover-transform: translateY(-1px);
|
|
99
|
-
|
|
100
|
-
--pi-
|
|
101
|
-
--pi-submit-
|
|
102
|
-
--pi-submit-
|
|
104
|
+
/* Chips sit on a dark translucent fill — the ring has to read light. */
|
|
105
|
+
--pi-chip-focus-ring: rgba(255, 255, 255, 0.9);
|
|
106
|
+
--pi-submit-size: 32px;
|
|
107
|
+
--pi-submit-radius: 999px;
|
|
108
|
+
--pi-submit-bg: rgba(43, 43, 43, 0.1);
|
|
109
|
+
--pi-submit-fg: #6c6f74;
|
|
103
110
|
--pi-submit-active-bg: #2b2b2b;
|
|
104
111
|
--pi-submit-active-fg: #ffffff;
|
|
105
|
-
--pi-submit-bottom:
|
|
112
|
+
--pi-submit-bottom: 8px;
|
|
106
113
|
--pi-submit-icon-size: 16px;
|
|
107
114
|
--pi-collapsed-btn-min-h: 48px;
|
|
108
115
|
--pi-collapsed-btn-padding-y: 12px;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Section-match tracing (debug-only).
|
|
3
|
+
*
|
|
4
|
+
* Turns the otherwise silent matching loop in `tryParseComponent` into a
|
|
5
|
+
* console trace: which definitions the active registry holds and in what
|
|
6
|
+
* order, which patterns were tried against a block, why each one failed, and
|
|
7
|
+
* when a matching definition then returned `null` from `parse()` and let the
|
|
8
|
+
* block fall through to the next candidate.
|
|
9
|
+
*
|
|
10
|
+
* Answers the two questions a "my section isn't rendering" report always
|
|
11
|
+
* splits into — *is my definition even registered?* (a missing entry in the
|
|
12
|
+
* registry order line usually means a stale bundle or a `web5-core` version
|
|
13
|
+
* skew; see the warning in `ComponentRegistry.register`) and *did it lose the
|
|
14
|
+
* match, or lose the parse?*
|
|
15
|
+
*
|
|
16
|
+
* Off by default. Enable with `?web5DebugMatch=1` (one-shot, wins over
|
|
17
|
+
* storage) or `localStorage["web5_debug_match"] = "1"` (sticky). Resolved once
|
|
18
|
+
* per page load — the tracing is on the hot parse path, so it must not read
|
|
19
|
+
* storage per block.
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
export const MATCH_DEBUG_KEY = 'web5_debug_match';
|
|
23
|
+
|
|
24
|
+
/** Query param that forces match tracing on, overriding localStorage. */
|
|
25
|
+
export const MATCH_DEBUG_QUERY_PARAM = 'web5DebugMatch';
|
|
26
|
+
const LOG_PREFIX = '[web5:match]';
|
|
27
|
+
const isTruthy = value => value === '1' || value === 'true';
|
|
28
|
+
let cached = null;
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Whether match tracing is enabled. Memoized: the parse loop calls this for
|
|
32
|
+
* every block of every turn.
|
|
33
|
+
*/
|
|
34
|
+
export const isMatchDebugEnabled = () => {
|
|
35
|
+
if (cached !== null) {
|
|
36
|
+
return cached;
|
|
37
|
+
}
|
|
38
|
+
cached = false;
|
|
39
|
+
try {
|
|
40
|
+
if (isTruthy(new URLSearchParams(window.location.search).get(MATCH_DEBUG_QUERY_PARAM))) {
|
|
41
|
+
cached = true;
|
|
42
|
+
return cached;
|
|
43
|
+
}
|
|
44
|
+
} catch {
|
|
45
|
+
// window / URLSearchParams unavailable (SSR, non-DOM environments).
|
|
46
|
+
}
|
|
47
|
+
try {
|
|
48
|
+
cached = isTruthy(localStorage.getItem(MATCH_DEBUG_KEY));
|
|
49
|
+
} catch {
|
|
50
|
+
// localStorage can throw in privacy mode / non-DOM environments.
|
|
51
|
+
}
|
|
52
|
+
return cached;
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
/** Persist the toggle and apply it to the current page without a reload. */
|
|
56
|
+
export const setMatchDebug = enabled => {
|
|
57
|
+
cached = enabled;
|
|
58
|
+
try {
|
|
59
|
+
if (enabled) {
|
|
60
|
+
localStorage.setItem(MATCH_DEBUG_KEY, '1');
|
|
61
|
+
} else {
|
|
62
|
+
localStorage.removeItem(MATCH_DEBUG_KEY);
|
|
63
|
+
}
|
|
64
|
+
} catch {
|
|
65
|
+
// Ignore — the toggle simply won't persist across reloads.
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
/** Drop the memoized value (tests, and after an external storage change). */
|
|
70
|
+
export const resetMatchDebugCache = () => {
|
|
71
|
+
cached = null;
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Log one trace line. Callers must gate on {@link isMatchDebugEnabled} before
|
|
76
|
+
* building expensive messages; this only guards the write.
|
|
77
|
+
*/
|
|
78
|
+
export const logMatchDebug = message => {
|
|
79
|
+
if (!isMatchDebugEnabled()) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
// eslint-disable-next-line no-console
|
|
83
|
+
console.log(`${LOG_PREFIX} ${message}`);
|
|
84
|
+
};
|
|
85
|
+
//# sourceMappingURL=matchDebug.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["MATCH_DEBUG_KEY","MATCH_DEBUG_QUERY_PARAM","LOG_PREFIX","isTruthy","value","cached","isMatchDebugEnabled","URLSearchParams","window","location","search","get","localStorage","getItem","setMatchDebug","enabled","setItem","removeItem","resetMatchDebugCache","logMatchDebug","message","console","log"],"sources":["../../../src/utils/matchDebug.ts"],"sourcesContent":["/**\n * Section-match tracing (debug-only).\n *\n * Turns the otherwise silent matching loop in `tryParseComponent` into a\n * console trace: which definitions the active registry holds and in what\n * order, which patterns were tried against a block, why each one failed, and\n * when a matching definition then returned `null` from `parse()` and let the\n * block fall through to the next candidate.\n *\n * Answers the two questions a \"my section isn't rendering\" report always\n * splits into — *is my definition even registered?* (a missing entry in the\n * registry order line usually means a stale bundle or a `web5-core` version\n * skew; see the warning in `ComponentRegistry.register`) and *did it lose the\n * match, or lose the parse?*\n *\n * Off by default. Enable with `?web5DebugMatch=1` (one-shot, wins over\n * storage) or `localStorage[\"web5_debug_match\"] = \"1\"` (sticky). Resolved once\n * per page load — the tracing is on the hot parse path, so it must not read\n * storage per block.\n */\n\nexport const MATCH_DEBUG_KEY = 'web5_debug_match';\n\n/** Query param that forces match tracing on, overriding localStorage. */\nexport const MATCH_DEBUG_QUERY_PARAM = 'web5DebugMatch';\n\nconst LOG_PREFIX = '[web5:match]';\n\nconst isTruthy = (value: unknown): boolean => value === '1' || value === 'true';\n\nlet cached: boolean | null = null;\n\n/**\n * Whether match tracing is enabled. Memoized: the parse loop calls this for\n * every block of every turn.\n */\nexport const isMatchDebugEnabled = (): boolean => {\n if (cached !== null) {\n return cached;\n }\n cached = false;\n try {\n if (\n isTruthy(\n new URLSearchParams(window.location.search).get(\n MATCH_DEBUG_QUERY_PARAM,\n ),\n )\n ) {\n cached = true;\n return cached;\n }\n } catch {\n // window / URLSearchParams unavailable (SSR, non-DOM environments).\n }\n try {\n cached = isTruthy(localStorage.getItem(MATCH_DEBUG_KEY));\n } catch {\n // localStorage can throw in privacy mode / non-DOM environments.\n }\n return cached;\n};\n\n/** Persist the toggle and apply it to the current page without a reload. */\nexport const setMatchDebug = (enabled: boolean): void => {\n cached = enabled;\n try {\n if (enabled) {\n localStorage.setItem(MATCH_DEBUG_KEY, '1');\n } else {\n localStorage.removeItem(MATCH_DEBUG_KEY);\n }\n } catch {\n // Ignore — the toggle simply won't persist across reloads.\n }\n};\n\n/** Drop the memoized value (tests, and after an external storage change). */\nexport const resetMatchDebugCache = (): void => {\n cached = null;\n};\n\n/**\n * Log one trace line. Callers must gate on {@link isMatchDebugEnabled} before\n * building expensive messages; this only guards the write.\n */\nexport const logMatchDebug = (message: string): void => {\n if (!isMatchDebugEnabled()) {\n return;\n }\n // eslint-disable-next-line no-console\n console.log(`${LOG_PREFIX} ${message}`);\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,MAAMA,eAAe,GAAG,kBAAkB;;AAEjD;AACA,OAAO,MAAMC,uBAAuB,GAAG,gBAAgB;AAEvD,MAAMC,UAAU,GAAG,cAAc;AAEjC,MAAMC,QAAQ,GAAIC,KAAc,IAAcA,KAAK,KAAK,GAAG,IAAIA,KAAK,KAAK,MAAM;AAE/E,IAAIC,MAAsB,GAAG,IAAI;;AAEjC;AACA;AACA;AACA;AACA,OAAO,MAAMC,mBAAmB,GAAGA,CAAA,KAAe;EAChD,IAAID,MAAM,KAAK,IAAI,EAAE;IACnB,OAAOA,MAAM;EACf;EACAA,MAAM,GAAG,KAAK;EACd,IAAI;IACF,IACEF,QAAQ,CACN,IAAII,eAAe,CAACC,MAAM,CAACC,QAAQ,CAACC,MAAM,CAAC,CAACC,GAAG,CAC7CV,uBACF,CACF,CAAC,EACD;MACAI,MAAM,GAAG,IAAI;MACb,OAAOA,MAAM;IACf;EACF,CAAC,CAAC,MAAM;IACN;EAAA;EAEF,IAAI;IACFA,MAAM,GAAGF,QAAQ,CAACS,YAAY,CAACC,OAAO,CAACb,eAAe,CAAC,CAAC;EAC1D,CAAC,CAAC,MAAM;IACN;EAAA;EAEF,OAAOK,MAAM;AACf,CAAC;;AAED;AACA,OAAO,MAAMS,aAAa,GAAIC,OAAgB,IAAW;EACvDV,MAAM,GAAGU,OAAO;EAChB,IAAI;IACF,IAAIA,OAAO,EAAE;MACXH,YAAY,CAACI,OAAO,CAAChB,eAAe,EAAE,GAAG,CAAC;IAC5C,CAAC,MAAM;MACLY,YAAY,CAACK,UAAU,CAACjB,eAAe,CAAC;IAC1C;EACF,CAAC,CAAC,MAAM;IACN;EAAA;AAEJ,CAAC;;AAED;AACA,OAAO,MAAMkB,oBAAoB,GAAGA,CAAA,KAAY;EAC9Cb,MAAM,GAAG,IAAI;AACf,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,MAAMc,aAAa,GAAIC,OAAe,IAAW;EACtD,IAAI,CAACd,mBAAmB,CAAC,CAAC,EAAE;IAC1B;EACF;EACA;EACAe,OAAO,CAACC,GAAG,CAAC,GAAGpB,UAAU,IAAIkB,OAAO,EAAE,CAAC;AACzC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/** A themeOverrides key: always a CSS custom property. */
|
|
2
|
+
export type ThemeOverrideKey = `--${string}`;
|
|
3
|
+
/**
|
|
4
|
+
* Writer-side shape for a theme override map. The catalog below documents
|
|
5
|
+
* the tokens the seed consumes today; the type stays open so new tokens
|
|
6
|
+
* flow end-to-end with no release anywhere but the seed.
|
|
7
|
+
*/
|
|
8
|
+
export type ThemeOverrides = Record<ThemeOverrideKey, string>;
|
|
9
|
+
/**
|
|
10
|
+
* The known token catalog — the CSS custom properties the seed's Tailwind
|
|
11
|
+
* bridge consumes today. GUIDANCE, NOT A GATE: writers (the Shopify theme
|
|
12
|
+
* extractor, admin tooling) should stick to these to produce visible effect,
|
|
13
|
+
* but `applyThemeOverrides` deliberately applies any well-formed custom
|
|
14
|
+
* property so the vocabulary can grow from the seed alone (matching the
|
|
15
|
+
* open-set validation on the server).
|
|
16
|
+
*/
|
|
17
|
+
export declare const THEME_OVERRIDE_TOKENS: ReadonlySet<string>;
|
|
18
|
+
export declare function applyThemeOverrides(overrides?: Record<string, string> | null): void;
|
|
19
|
+
//# sourceMappingURL=applyThemeOverrides.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applyThemeOverrides.d.ts","sourceRoot":"","sources":["../../../src/client/applyThemeOverrides.ts"],"names":[],"mappings":"AA0BA,0DAA0D;AAC1D,MAAM,MAAM,gBAAgB,GAAG,KAAK,MAAM,EAAE,CAAC;AAE7C;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;AAE9D;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,EAAE,WAAW,CAAC,MAAM,CAYpD,CAAC;AAOH,wBAAgB,mBAAmB,CACjC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,GACxC,IAAI,CAsCN"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client-UMD URL resolution, shared between `web50-server-ui` (the main app)
|
|
3
|
+
* and `embed-placement` (the storefront widget) — DL #094 (per-msid) + DL #129
|
|
4
|
+
* (per-template). Centralized here for the same reason as
|
|
5
|
+
* `clientBundleOverride.ts`: both callers must derive identical URLs, and
|
|
6
|
+
* divergence on which bundle a tenant executes would be a real bug.
|
|
7
|
+
*
|
|
8
|
+
* Two tiers (DL #129):
|
|
9
|
+
* - `templateId` present (DIY store) → the shared per-template bundle,
|
|
10
|
+
* `<cdn>/templates/<id>/production/…`. Every store on a template runs the
|
|
11
|
+
* same artifact; `production` is the promoted channel.
|
|
12
|
+
* - `templateId` absent (customized tier: feature-com, circana, smallflower)
|
|
13
|
+
* → the per-msid bundle at `<cdn>/<msid>/latest/…`, byte-identical to the
|
|
14
|
+
* pre-template behavior.
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* The template catalog the onboarding gallery and the preview picker render —
|
|
18
|
+
* published by web5-seed-1's CI (`templates/manifest.json` + previews),
|
|
19
|
+
* CORS-open. Thumbnail paths inside are relative to `TEMPLATES_CDN_BASE`.
|
|
20
|
+
*/
|
|
21
|
+
export declare const TEMPLATES_CDN_BASE: string;
|
|
22
|
+
export declare const TEMPLATES_MANIFEST_URL: string;
|
|
23
|
+
export declare function isValidTemplateId(id: string): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* `?web5Template=<id>` — client-side template override (DL #129 Q10), the
|
|
26
|
+
* mechanism behind the live-preview picker: reload with the param and the page
|
|
27
|
+
* renders under that template's shared bundle, no Configuration write.
|
|
28
|
+
*
|
|
29
|
+
* Strictly narrower than `?clientBundleUrl=`: the value is a kebab-validated
|
|
30
|
+
* id interpolated into the fixed CDN template prefix, so it can only ever
|
|
31
|
+
* select one of our own template bundles — purely presentational, harmless if
|
|
32
|
+
* a visitor sets it by hand. Precedence at the call sites:
|
|
33
|
+
* `clientBundleUrl` override > this > `Configuration.templateId`.
|
|
34
|
+
*/
|
|
35
|
+
export declare function getTemplateOverride(search: string): string | null;
|
|
36
|
+
/** `?web5TemplatePicker=1` — should the preview picker overlay render? */
|
|
37
|
+
export declare function isTemplatePickerRequested(search: string): boolean;
|
|
38
|
+
export declare function resolveClientBundleUrl(msid: string, templateId?: string | null): string;
|
|
39
|
+
//# sourceMappingURL=clientBundleUrl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clientBundleUrl.d.ts","sourceRoot":"","sources":["../../../src/client/clientBundleUrl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,QAAmC,CAAC;AACnE,eAAO,MAAM,sBAAsB,QAAwC,CAAC;AAU5E,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAYjE;AAED,0EAA0E;AAC1E,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEjE;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GACzB,MAAM,CAUR"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Universal client-config merge (DL #129 Q3/Q7): the loaded client bundle's
|
|
3
|
+
* `clientConfig` is the default; the backend `Configuration.clientConfig`
|
|
4
|
+
* overrides it **per field, only where a field was actually returned**.
|
|
5
|
+
*
|
|
6
|
+
* One rule for both tiers, shared between `web50-server-ui` and
|
|
7
|
+
* `embed-placement` (the two places that load `w5-components.umd.js`):
|
|
8
|
+
* - Customized-tier clients (feature-com, circana): the backend returns no
|
|
9
|
+
* `clientConfig`, so the merge is identity — the bundle's baked config
|
|
10
|
+
* passes through byte-identical (same reference, see spec).
|
|
11
|
+
* - DIY/template stores: the backend supplies per-store deltas that grow
|
|
12
|
+
* field-by-field as the client-config port (Phase 3b) lands; each ported
|
|
13
|
+
* field takes effect here with no FE change.
|
|
14
|
+
*
|
|
15
|
+
* Semantics — presence, not truthiness:
|
|
16
|
+
* - The wire omits unset proto fields, so key-absence means "not returned"
|
|
17
|
+
* → bundle value kept. A key that IS present wins even when falsy
|
|
18
|
+
* (`''`, `false`, `0`) — it was explicitly set.
|
|
19
|
+
* - `undefined`/`null` values are treated as absent (proto3 JSON never
|
|
20
|
+
* emits null for wrapper types; defensive against hand-written configs).
|
|
21
|
+
* - Plain objects merge per leaf; arrays replace wholesale; class
|
|
22
|
+
* instances / functions replace wholesale.
|
|
23
|
+
*/
|
|
24
|
+
export type DeepPartial<T> = T extends (infer U)[] ? U[] : T extends object ? {
|
|
25
|
+
[K in keyof T]?: DeepPartial<T[K]>;
|
|
26
|
+
} : T;
|
|
27
|
+
export declare function mergeClientConfig<T extends object>(bundleConfig: T, backendConfig?: DeepPartial<T> | Record<string, unknown> | null): T;
|
|
28
|
+
//# sourceMappingURL=mergeClientConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mergeClientConfig.d.ts","sourceRoot":"","sources":["../../../src/client/mergeClientConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAC9C,CAAC,EAAE,GACH,CAAC,SAAS,MAAM,GACd;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GACtC,CAAC,CAAC;AAYR,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAChD,YAAY,EAAE,CAAC,EAIf,aAAa,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAC9D,CAAC,CA6BH"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { Part } from '../../parts/parts';
|
|
2
|
+
import type { EntityCompProps, EntitySectionComponent, SectionFixture } from '../types';
|
|
3
|
+
import type { SectionDefinition, ParseContext } from '../section-definition';
|
|
4
|
+
/**
|
|
5
|
+
* Entity section restricted to **collection** entities
|
|
6
|
+
* (`web5://entity/collection/<id>`).
|
|
7
|
+
*
|
|
8
|
+
* Same markdown shapes as {@link EntitySectionDefinition} — an `h2`, optional
|
|
9
|
+
* intro/callout, then entity links either at the top level or as list items —
|
|
10
|
+
* but every entity link must be a collection. That makes it a strictly narrower
|
|
11
|
+
* match, so it MUST be registered **before** `EntitySectionDefinition` (which
|
|
12
|
+
* claims any `link[entityType]`, i.e. product and article sections too). Once
|
|
13
|
+
* `EntitySectionDefinition` matches, the block is consumed and no later
|
|
14
|
+
* definition is consulted.
|
|
15
|
+
*
|
|
16
|
+
* Mixed blocks (a collection next to a product or an article) fall through:
|
|
17
|
+
* the patterns only cover consecutive collection links, and `parse()` returns
|
|
18
|
+
* `null` when a non-collection entity slipped into the matched slice, handing
|
|
19
|
+
* the block to `EntitySectionDefinition`.
|
|
20
|
+
*
|
|
21
|
+
* Props are the shared {@link EntityCompProps} shape, so a client renders it
|
|
22
|
+
* with a dedicated `EntityCollectionSection` component while product/article
|
|
23
|
+
* sections keep using their own components under `EntitySectionDefinition`.
|
|
24
|
+
*/
|
|
25
|
+
export declare class EntityCollectionSectionDefinition implements SectionDefinition<EntitySectionComponent> {
|
|
26
|
+
sectionType: "entityCollection";
|
|
27
|
+
/**
|
|
28
|
+
* One pattern, matching the shape the orchestrator actually emits for a
|
|
29
|
+
* collections block:
|
|
30
|
+
*
|
|
31
|
+
* <!-- section:entities, semantic:items -->
|
|
32
|
+
* ## Curated collections by theme
|
|
33
|
+
* - [](web5://entity/collection/<id>) description
|
|
34
|
+
*
|
|
35
|
+
* The head absorbs the section descriptor and any intro copy or ECHO
|
|
36
|
+
* callout; each list item is a collection link, an optional markdown image,
|
|
37
|
+
* then its description and optional per-item callout. A trailing
|
|
38
|
+
* section-level callout is intentionally left outside the pattern so it
|
|
39
|
+
* falls through to the downstream CalloutSection.
|
|
40
|
+
*
|
|
41
|
+
* Deliberately narrow: anything else (collection links at the top level
|
|
42
|
+
* rather than in a list, a block mixing entity types) falls through to
|
|
43
|
+
* `EntitySectionDefinition`, which is what handled it before this
|
|
44
|
+
* definition existed.
|
|
45
|
+
*/
|
|
46
|
+
patterns: string[];
|
|
47
|
+
defaults: EntityCompProps;
|
|
48
|
+
fixtures: SectionFixture<EntityCompProps>[];
|
|
49
|
+
parse(parts: Part[], context?: ParseContext): EntityCompProps | null;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=EntityCollectionSectionDefinition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EntityCollectionSectionDefinition.d.ts","sourceRoot":"","sources":["../../../../src/component/componentDefinitions/EntityCollectionSectionDefinition.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,EACV,eAAe,EAEf,sBAAsB,EACtB,cAAc,EACf,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAS7E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,iCACX,YAAW,iBAAiB,CAAC,sBAAsB,CAAC;IAEpD,WAAW,qBAA+B;IAC1C;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,WAEN;IAEF,QAAQ,EAAE,eAAe,CAUvB;IAEF,QAAQ,EAAE,cAAc,CAAC,eAAe,CAAC,EAAE,CAoEzC;IAEF,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,eAAe,GAAG,IAAI;CAyCrE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeroEntitySectionDefinition.d.ts","sourceRoot":"","sources":["../../../../src/component/componentDefinitions/HeroEntitySectionDefinition.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HeroEntitySectionDefinition.d.ts","sourceRoot":"","sources":["../../../../src/component/componentDefinitions/HeroEntitySectionDefinition.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,KAAK,EAEV,mBAAmB,EACnB,0BAA0B,EAC1B,cAAc,EACf,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAG7E;;;;;;;;;;GAUG;AACH,qBAAa,2BACX,YAAW,iBAAiB,CAAC,0BAA0B,CAAC;IAExD,WAAW,gBAA0B;IACrC,cAAc,UAAQ;IACtB,QAAQ,WASN;IAEF,QAAQ,EAAE,mBAAmB,CAW3B;IAEF,QAAQ,EAAE,cAAc,CAAC,mBAAmB,CAAC,EAAE,CAyC7C;IAEF,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,mBAAmB,GAAG,IAAI;CA0DzE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeroSectionDefinition.d.ts","sourceRoot":"","sources":["../../../../src/component/componentDefinitions/HeroSectionDefinition.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HeroSectionDefinition.d.ts","sourceRoot":"","sources":["../../../../src/component/componentDefinitions/HeroSectionDefinition.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,IAAI,EAAoC,MAAM,mBAAmB,CAAC;AAEhF,OAAO,KAAK,EAEV,aAAa,EACb,oBAAoB,EACpB,cAAc,EACf,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,qBAAa,qBACX,YAAW,iBAAiB,CAAC,oBAAoB,CAAC;IAElD,WAAW,SAAmB;IAC9B,cAAc,UAAQ;IACtB,QAAQ,WAQN;IAEF,QAAQ,EAAE,aAAa,CAIrB;IAEF,QAAQ,EAAE,cAAc,CAAC,aAAa,CAAC,EAAE,CAqDvC;IAEF,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,aAAa;CAoJpC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NextStepsSectionDefinition.d.ts","sourceRoot":"","sources":["../../../../src/component/componentDefinitions/NextStepsSectionDefinition.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NextStepsSectionDefinition.d.ts","sourceRoot":"","sources":["../../../../src/component/componentDefinitions/NextStepsSectionDefinition.ts"],"names":[],"mappings":"AAMA,OAAO,EAGL,KAAK,IAAI,EAIV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,kBAAkB,EAClB,yBAAyB,EACzB,cAAc,EACf,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAmC/D,qBAAa,0BACX,YAAW,iBAAiB,CAAC,yBAAyB,CAAC;IAEvD,WAAW,cAAwB;IACnC,QAAQ,WAMN;IAEF,QAAQ,EAAE,kBAAkB,CAK1B;IAEF,QAAQ,EAAE,cAAc,CAAC,kBAAkB,CAAC,EAAE,CAwC5C;IAEF,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,kBAAkB;CAsEzC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextBlockSectionDefinition.d.ts","sourceRoot":"","sources":["../../../../src/component/componentDefinitions/TextBlockSectionDefinition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,KAAK,EACV,kBAAkB,EAClB,yBAAyB,EACzB,cAAc,EACf,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAG7E,qBAAa,0BACX,YAAW,iBAAiB,CAAC,yBAAyB,CAAC;IAEvD,WAAW,cAAwB;
|
|
1
|
+
{"version":3,"file":"TextBlockSectionDefinition.d.ts","sourceRoot":"","sources":["../../../../src/component/componentDefinitions/TextBlockSectionDefinition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,KAAK,EACV,kBAAkB,EAClB,yBAAyB,EACzB,cAAc,EACf,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAG7E,qBAAa,0BACX,YAAW,iBAAiB,CAAC,yBAAyB,CAAC;IAEvD,WAAW,cAAwB;IAkBnC,QAAQ,WAAyC;IAEjD,QAAQ,EAAE,kBAAkB,CAI1B;IAEF,QAAQ,EAAE,cAAc,CAAC,kBAAkB,CAAC,EAAE,CA0C5C;IAEF,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,kBAAkB,GAAG,IAAI;CAexE"}
|
|
@@ -6,6 +6,7 @@ export { HeroEntitySectionDefinition } from './HeroEntitySectionDefinition';
|
|
|
6
6
|
export { KpiSectionDefinition } from './KpiSectionDefinition';
|
|
7
7
|
export { FeatureCardsSectionDefinition } from './FeatureCardsSectionDefinition';
|
|
8
8
|
export { EntitySectionDefinition } from './EntitySectionDefinition';
|
|
9
|
+
export { EntityCollectionSectionDefinition } from './EntityCollectionSectionDefinition';
|
|
9
10
|
export { CtaBannerSectionDefinition } from './CtaBannerSectionDefinition';
|
|
10
11
|
export { CalloutSectionDefinition } from './CalloutSectionDefinition';
|
|
11
12
|
export { NextStepsSectionDefinition } from './NextStepsSectionDefinition';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/component/componentDefinitions/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAExE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/component/componentDefinitions/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAExE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAoBnD;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,iBAAiB,CAAC,IAAI,CAAC,CA+B3D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"componentParser.d.ts","sourceRoot":"","sources":["../../../src/component/componentParser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"componentParser.d.ts","sourceRoot":"","sources":["../../../src/component/componentParser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAMrE,OAAO,EAEL,KAAK,UAAU,EAChB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGrD,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACd,MAAM,gBAAgB,CAAC;AAExB,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpE,MAAM,WAAW,oBAAoB;IACnC,qEAAqE;IACrE,QAAQ,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3C,2EAA2E;IAC3E,YAAY,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACzC,2EAA2E;IAC3E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kFAAkF;IAClF,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,gFAAgF;IAChF,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAC3B,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,oBAAoB,EAAE,oBAAoB,CAAC;CAC5C;AAoCD;;;GAGG;AACH,wBAAgB,iCAAiC,CAC/C,gBAAgB,EAAE,WAAW,EAAE,EAC/B,WAAW,EAAE,WAAW,EAAE,GACzB,WAAW,EAAE,CA2Cf;AAyFD,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,oBAAoB,GAC5B,mBAAmB,CAyIrB;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,WAAW,EAAE,EACpB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,aAAa,GACrB;IAAE,OAAO,CAAC,EAAE,WAAW,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CA6MjD"}
|
|
@@ -214,6 +214,13 @@ export interface CalloutCompProps extends SectionCompProps {
|
|
|
214
214
|
export interface NextStepsCompProps extends SectionCompProps {
|
|
215
215
|
title: string;
|
|
216
216
|
body?: string;
|
|
217
|
+
/**
|
|
218
|
+
* True when the chips are already rendered inline inside `body`. Renderers
|
|
219
|
+
* must show `body` alone in that case — listing `steps` as well repeats every
|
|
220
|
+
* chip. `steps` stays populated either way; it is the machine-readable chip
|
|
221
|
+
* list (the scroll chips under the answer are built from it).
|
|
222
|
+
*/
|
|
223
|
+
chipsInlineInBody?: boolean;
|
|
217
224
|
backgroundImage?: string;
|
|
218
225
|
steps: {
|
|
219
226
|
content: string;
|