@wix/web5-core 1.63.46 → 1.63.47
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/index.js.map +1 -1
- package/dist/cjs/theme/themeScheme.js +9 -24
- package/dist/cjs/theme/themeScheme.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/theme/themeScheme.js +9 -27
- package/dist/esm/theme/themeScheme.js.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/theme/themeScheme.d.ts +3 -8
- package/dist/types/theme/themeScheme.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","MetricsSectionDefinition","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","entityHref","normalizeEntityItem","toCatalogPath","entityPayloadFromItems","mergeEntityData","fetchEntityListData","listEntityItems","LIST_ITEMS_ENDPOINT","getEntityExtractor","registerEntityExtractor","transformToSolutionEntityData","transformToBlogPostEntityData","transformToGenericEntityData","toMatchedOptions","formatMoney","readCurrencyCode","formatPriceField","formatProductPriceLabel","isProductFamilyEntityType","isDocumentFamilyEntityType","PLATFORM_ENTITY_TYPES","resolveEntityTypeConfig","_callout","CALLOUT_KINDS","CALLOUT_SEMANTICS","_useWeb5Link","useWeb5Link","_useConversation","useConversation","_useDebugImageContext","useDebugImageContext","_useResolvedImageSources","useResolvedImageSources","_useImageSlot","useImageSlot","_ImageSlotContext","ImageSlotProvider","useImageSlotCollector","_SectionRuntimeContext","SectionsRuntimeProvider","SectionRuntimeProvider","useCurrentSectionOptions","useCurrentSectionId","_composeSemantic","composeSemantic","_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","_privacy","UNKNOWN_CONSENT","HOST_CONSENT_GLOBAL","unlockOnUserAction","mayPersistToken","getConsentSnapshot","subscribeToConsent","installConsentProvider","resetConsentGateForTests","detectConsentProvider","initConsentGate","CONSENT_OVERRIDE_KEY","CONSENT_OVERRIDE_QUERY_PARAM","getConsentOverride","setConsentOverride","createShopifyConsentProvider","isShopifyHost","createOneTrustConsentProvider","isOneTrustHost","createHostSuppliedConsentProvider","hasHostSuppliedConsent","publishHostConsent","_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","_AiDisclosure","AiDisclosure","DEFAULT_AI_DISCLOSURE_TEXT","_assistant","ASSISTANT_TOKEN","UNBRANDED_ASSISTANT_NAME","DEFAULT_PROMPT_PLACEHOLDER","assistantName","resolveAssistantPlaceholder","_AiIcon","AiIcon","_PoweredByBadge","PoweredByBadge","DEFAULT_POWERED_BY_HREF","_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","_answerSettledEvent","WEB5_ANSWER_SETTLED_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","themeOverrideDeclarations","THEME_OVERRIDE_TOKENS","_tokenContract","THEME_TOKEN_CONTRACT","BRAND_TOKENS","EDITABLE_TOKENS","TOKEN_NAME_PATTERN","THEME_OVERRIDE_KEY_PATTERN","bucketOf","hostAliasFor","_themeScheme","SCHEME_COLOR_TOKENS","MAX_THEME_SCHEMES","SCHEME_ANCHOR_TOKENS","SCHEME_TOKENS","completeScheme","isThemeScheme","isSchemeTokenEntry","nextOwnerSchemeId","resolveActiveScheme","schemeDisplayName","schemeTokensOf","_chromeTokens","WEB5_CHROME_TOKENS","web5ChromeProperties","web5ChromeProperty","_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 MetricsCompProps,\n MetricsItemCompProps,\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 MetricsItemComponent,\n FeatureItemComponent,\n FeatureCardComponent,\n GenericEntityComponent,\n AiNarrativeComponent,\n ComparisonSectionComponent,\n TextBlockSectionComponent,\n HeroSectionComponent,\n HeroEntitySectionComponent,\n KpiSectionComponent,\n MetricsSectionComponent,\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 MetricsSectionDefinition,\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 entityHref,\n normalizeEntityItem,\n toCatalogPath,\n entityPayloadFromItems,\n mergeEntityData,\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 isProductFamilyEntityType,\n isDocumentFamilyEntityType,\n PLATFORM_ENTITY_TYPES,\n resolveEntityTypeConfig,\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';\n\n// Image slots (ADR 0222/0223/0225): a section declares the holes in its layout\n// and a per-section collector resolves them as one set. Replaces the per-image\n// `useResolvedImageSources` path above, which is kept until its callers move.\nexport { useImageSlot } from './hooks/useImageSlot';\nexport type { UseImageSlotOptions, ResolvedImage } from './hooks/useImageSlot';\nexport {\n ImageSlotProvider,\n useImageSlotCollector,\n} from './context/ImageSlotContext';\nexport type {\n ImageSlotCollector,\n ImageSlotProviderProps,\n} from './context/ImageSlotContext';\n\n// Section runtime: the host mounts these around the page and around each\n// section, so a component can read the id of the section it renders inside\n// and the `componentOptions` its registry entry carried. Client bundles used\n// to ship their own copies as uiSlots; those are superseded by this.\nexport {\n SectionsRuntimeProvider,\n SectionRuntimeProvider,\n useCurrentSectionOptions,\n useCurrentSectionId,\n} from './context/SectionRuntimeContext';\nexport type {\n RuntimeSection,\n SectionsRuntimeProviderProps,\n SectionRuntimeProviderProps,\n} from './context/SectionRuntimeContext';\nexport { composeSemantic } from './image/composeSemantic';\nexport type { ComposeSemanticInput } from './image/composeSemantic';\nexport type {\n ImageSlotKind,\n ImageMatchQuality,\n ImageKind,\n ImageBackground,\n ImageSlotRequest,\n ImagePalette,\n ImageStatGrid,\n ImageVisualMetadata,\n ResolvedImageSlot,\n ResolveImageSetResponse,\n ResolveImageSetPort,\n SlotState,\n ImageSubject,\n} from './image/imageSlotTypes';\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 type EntityFilteredReason,\n} from './utils/analyticsEvents';\n\n// Consent gate (DL #218)\nexport {\n type ConsentState,\n type ConsentPurpose,\n type GatedPurpose,\n type ConsentSnapshot,\n type ConsentProvider,\n type HostConsentInput,\n UNKNOWN_CONSENT,\n HOST_CONSENT_GLOBAL,\n unlockOnUserAction,\n mayPersistToken,\n getConsentSnapshot,\n subscribeToConsent,\n installConsentProvider,\n resetConsentGateForTests,\n detectConsentProvider,\n initConsentGate,\n CONSENT_OVERRIDE_KEY,\n CONSENT_OVERRIDE_QUERY_PARAM,\n getConsentOverride,\n setConsentOverride,\n createShopifyConsentProvider,\n isShopifyHost,\n createOneTrustConsentProvider,\n isOneTrustHost,\n createHostSuppliedConsentProvider,\n hasHostSuppliedConsent,\n publishHostConsent,\n} from './privacy';\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 AiDisclosure,\n DEFAULT_AI_DISCLOSURE_TEXT,\n type AiDisclosureProps,\n} from './components/ui/AiDisclosure';\nexport {\n ASSISTANT_TOKEN,\n UNBRANDED_ASSISTANT_NAME,\n DEFAULT_PROMPT_PLACEHOLDER,\n assistantName,\n resolveAssistantPlaceholder,\n} from './lib/assistant';\nexport { AiIcon } from './components/ui/icons/AiIcon';\nexport {\n PoweredByBadge,\n DEFAULT_POWERED_BY_HREF,\n type PoweredByBadgeProps,\n} from './components/ui/PoweredByBadge';\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';\nexport {\n WEB5_ANSWER_SETTLED_EVENT,\n type Web5AnswerSettledStatus,\n type Web5AnswerSettledEventDetail,\n type Web5AnswerSettledEvent,\n} from './types/answerSettledEvent';\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 themeOverrideDeclarations,\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 THEME_OVERRIDE_KEY_PATTERN,\n bucketOf,\n hostAliasFor,\n type TokenBucket,\n type TokenContractEntry,\n type TokenType,\n} from './theme/tokenContract';\nexport {\n SCHEME_COLOR_TOKENS,\n MAX_THEME_SCHEMES,\n SCHEME_ANCHOR_TOKENS,\n SCHEME_TOKENS,\n completeScheme,\n isThemeScheme,\n isSchemeTokenEntry,\n nextOwnerSchemeId,\n resolveActiveScheme,\n schemeDisplayName,\n schemeTokensOf,\n type ThemeScheme,\n type SchemeAnchorToken,\n type SchemeContext,\n type SchemeToken,\n type SchemeOrigin,\n} from './theme/themeScheme';\nexport {\n WEB5_CHROME_TOKENS,\n web5ChromeProperties,\n web5ChromeProperty,\n type Web5ChromeToken,\n} from './theme/chromeTokens';\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":"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","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","MetricsSectionDefinition","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","entityHref","normalizeEntityItem","toCatalogPath","entityPayloadFromItems","mergeEntityData","fetchEntityListData","listEntityItems","LIST_ITEMS_ENDPOINT","getEntityExtractor","registerEntityExtractor","transformToSolutionEntityData","transformToBlogPostEntityData","transformToGenericEntityData","toMatchedOptions","formatMoney","readCurrencyCode","formatPriceField","formatProductPriceLabel","isProductFamilyEntityType","isDocumentFamilyEntityType","PLATFORM_ENTITY_TYPES","resolveEntityTypeConfig","_callout","CALLOUT_KINDS","CALLOUT_SEMANTICS","_useWeb5Link","useWeb5Link","_useConversation","useConversation","_useDebugImageContext","useDebugImageContext","_useResolvedImageSources","useResolvedImageSources","_useImageSlot","useImageSlot","_ImageSlotContext","ImageSlotProvider","useImageSlotCollector","_SectionRuntimeContext","SectionsRuntimeProvider","SectionRuntimeProvider","useCurrentSectionOptions","useCurrentSectionId","_composeSemantic","composeSemantic","_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","_privacy","UNKNOWN_CONSENT","HOST_CONSENT_GLOBAL","unlockOnUserAction","mayPersistToken","getConsentSnapshot","subscribeToConsent","installConsentProvider","resetConsentGateForTests","detectConsentProvider","initConsentGate","CONSENT_OVERRIDE_KEY","CONSENT_OVERRIDE_QUERY_PARAM","getConsentOverride","setConsentOverride","createShopifyConsentProvider","isShopifyHost","createOneTrustConsentProvider","isOneTrustHost","createHostSuppliedConsentProvider","hasHostSuppliedConsent","publishHostConsent","_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","_AiDisclosure","AiDisclosure","DEFAULT_AI_DISCLOSURE_TEXT","_assistant","ASSISTANT_TOKEN","UNBRANDED_ASSISTANT_NAME","DEFAULT_PROMPT_PLACEHOLDER","assistantName","resolveAssistantPlaceholder","_AiIcon","AiIcon","_PoweredByBadge","PoweredByBadge","DEFAULT_POWERED_BY_HREF","_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","_answerSettledEvent","WEB5_ANSWER_SETTLED_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","themeOverrideDeclarations","THEME_OVERRIDE_TOKENS","_tokenContract","THEME_TOKEN_CONTRACT","BRAND_TOKENS","EDITABLE_TOKENS","TOKEN_NAME_PATTERN","THEME_OVERRIDE_KEY_PATTERN","bucketOf","hostAliasFor","_themeScheme","SCHEME_COLOR_TOKENS","MAX_THEME_SCHEMES","SCHEME_ANCHOR_TOKENS","SCHEME_TOKENS","completeScheme","isThemeScheme","isSchemeTokenEntry","nextOwnerSchemeId","resolveActiveScheme","schemeDisplayName","schemeTokensOf","_chromeTokens","WEB5_CHROME_TOKENS","web5ChromeProperties","web5ChromeProperty","_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 MetricsCompProps,\n MetricsItemCompProps,\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 MetricsItemComponent,\n FeatureItemComponent,\n FeatureCardComponent,\n GenericEntityComponent,\n AiNarrativeComponent,\n ComparisonSectionComponent,\n TextBlockSectionComponent,\n HeroSectionComponent,\n HeroEntitySectionComponent,\n KpiSectionComponent,\n MetricsSectionComponent,\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 MetricsSectionDefinition,\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 entityHref,\n normalizeEntityItem,\n toCatalogPath,\n entityPayloadFromItems,\n mergeEntityData,\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 isProductFamilyEntityType,\n isDocumentFamilyEntityType,\n PLATFORM_ENTITY_TYPES,\n resolveEntityTypeConfig,\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';\n\n// Image slots (ADR 0222/0223/0225): a section declares the holes in its layout\n// and a per-section collector resolves them as one set. Replaces the per-image\n// `useResolvedImageSources` path above, which is kept until its callers move.\nexport { useImageSlot } from './hooks/useImageSlot';\nexport type { UseImageSlotOptions, ResolvedImage } from './hooks/useImageSlot';\nexport {\n ImageSlotProvider,\n useImageSlotCollector,\n} from './context/ImageSlotContext';\nexport type {\n ImageSlotCollector,\n ImageSlotProviderProps,\n} from './context/ImageSlotContext';\n\n// Section runtime: the host mounts these around the page and around each\n// section, so a component can read the id of the section it renders inside\n// and the `componentOptions` its registry entry carried. Client bundles used\n// to ship their own copies as uiSlots; those are superseded by this.\nexport {\n SectionsRuntimeProvider,\n SectionRuntimeProvider,\n useCurrentSectionOptions,\n useCurrentSectionId,\n} from './context/SectionRuntimeContext';\nexport type {\n RuntimeSection,\n SectionsRuntimeProviderProps,\n SectionRuntimeProviderProps,\n} from './context/SectionRuntimeContext';\nexport { composeSemantic } from './image/composeSemantic';\nexport type { ComposeSemanticInput } from './image/composeSemantic';\nexport type {\n ImageSlotKind,\n ImageMatchQuality,\n ImageKind,\n ImageBackground,\n ImageSlotRequest,\n ImagePalette,\n ImageStatGrid,\n ImageVisualMetadata,\n ResolvedImageSlot,\n ResolveImageSetResponse,\n ResolveImageSetPort,\n SlotState,\n ImageSubject,\n} from './image/imageSlotTypes';\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 type EntityFilteredReason,\n} from './utils/analyticsEvents';\n\n// Consent gate (DL #218)\nexport {\n type ConsentState,\n type ConsentPurpose,\n type GatedPurpose,\n type ConsentSnapshot,\n type ConsentProvider,\n type HostConsentInput,\n UNKNOWN_CONSENT,\n HOST_CONSENT_GLOBAL,\n unlockOnUserAction,\n mayPersistToken,\n getConsentSnapshot,\n subscribeToConsent,\n installConsentProvider,\n resetConsentGateForTests,\n detectConsentProvider,\n initConsentGate,\n CONSENT_OVERRIDE_KEY,\n CONSENT_OVERRIDE_QUERY_PARAM,\n getConsentOverride,\n setConsentOverride,\n createShopifyConsentProvider,\n isShopifyHost,\n createOneTrustConsentProvider,\n isOneTrustHost,\n createHostSuppliedConsentProvider,\n hasHostSuppliedConsent,\n publishHostConsent,\n} from './privacy';\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 AiDisclosure,\n DEFAULT_AI_DISCLOSURE_TEXT,\n type AiDisclosureProps,\n} from './components/ui/AiDisclosure';\nexport {\n ASSISTANT_TOKEN,\n UNBRANDED_ASSISTANT_NAME,\n DEFAULT_PROMPT_PLACEHOLDER,\n assistantName,\n resolveAssistantPlaceholder,\n} from './lib/assistant';\nexport { AiIcon } from './components/ui/icons/AiIcon';\nexport {\n PoweredByBadge,\n DEFAULT_POWERED_BY_HREF,\n type PoweredByBadgeProps,\n} from './components/ui/PoweredByBadge';\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';\nexport {\n WEB5_ANSWER_SETTLED_EVENT,\n type Web5AnswerSettledStatus,\n type Web5AnswerSettledEventDetail,\n type Web5AnswerSettledEvent,\n} from './types/answerSettledEvent';\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 themeOverrideDeclarations,\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 THEME_OVERRIDE_KEY_PATTERN,\n bucketOf,\n hostAliasFor,\n type TokenBucket,\n type TokenContractEntry,\n type TokenType,\n} from './theme/tokenContract';\nexport {\n SCHEME_COLOR_TOKENS,\n MAX_THEME_SCHEMES,\n SCHEME_ANCHOR_TOKENS,\n SCHEME_TOKENS,\n completeScheme,\n isThemeScheme,\n isSchemeTokenEntry,\n nextOwnerSchemeId,\n resolveActiveScheme,\n schemeDisplayName,\n schemeTokensOf,\n type ThemeScheme,\n type SchemeAnchorToken,\n type SchemeToken,\n type SchemeOrigin,\n} from './theme/themeScheme';\nexport {\n WEB5_CHROME_TOKENS,\n web5ChromeProperties,\n web5ChromeProperty,\n type Web5ChromeToken,\n} from './theme/chromeTokens';\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":"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","ignoreList":[]}
|
|
@@ -72,14 +72,13 @@ var _tokenContract = require("./tokenContract");
|
|
|
72
72
|
* | `--popover-foreground` | derived: = foreground |
|
|
73
73
|
* | `--muted` | derived: foreground 4% over background |
|
|
74
74
|
* | `--muted-foreground` | derived: foreground 60% over background |
|
|
75
|
-
* | `--secondary` | derived: primary 10% over background |
|
|
76
|
-
* | `--accent` | derived: primary 10% over background |
|
|
77
75
|
* | `--border` | inherited from base (no fallback — see below) |
|
|
78
76
|
* | `--input` | inherited from base (no fallback — see below) |
|
|
79
77
|
*
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
* (
|
|
78
|
+
* `--secondary`/`--accent` are NOT scheme tokens: the adapter mixes them from
|
|
79
|
+
* the button colour, so they belong to the store's global set
|
|
80
|
+
* (`themeOverrides`) with the buttons, and a scheme edit leaves them alone.
|
|
81
|
+
* `--border`/`--input` are read straight off the
|
|
83
82
|
* theme by the adapter, which reconstructs a missing border from the theme's
|
|
84
83
|
* `*_border_opacity` setting a token map does not carry — so they are
|
|
85
84
|
* inherited from base, and omitted when base lacks them, as the adapter omits
|
|
@@ -98,8 +97,8 @@ var _tokenContract = require("./tokenContract");
|
|
|
98
97
|
*
|
|
99
98
|
* When it is recomputed, triplets convert back to RGB WITHOUT rounding to
|
|
100
99
|
* 8-bit first — that would be a second quantisation the adapter never
|
|
101
|
-
* performs, and enough to move
|
|
102
|
-
* to `230 42% 94
|
|
100
|
+
* performs, and enough to move a mixed colour's saturation by several points
|
|
101
|
+
* (smallflower's button tint went from `230 38% 94%` to `230 42% 94%`). The mix result is rounded exactly where the adapter
|
|
103
102
|
* rounds it.
|
|
104
103
|
*/
|
|
105
104
|
|
|
@@ -139,7 +138,7 @@ const MAX_SCHEME_VALUE_LENGTH = 256;
|
|
|
139
138
|
* derived from those two. The panel writes exactly these into the OWNER rows
|
|
140
139
|
* it creates, and mirrors exactly these of the active row into `themeOverrides`.
|
|
141
140
|
*/
|
|
142
|
-
const SCHEME_TOKENS = exports.SCHEME_TOKENS = ['--background', '--foreground', '--popover', '--popover-foreground', '--muted', '--muted-foreground', '--border', '--input'
|
|
141
|
+
const SCHEME_TOKENS = exports.SCHEME_TOKENS = ['--background', '--foreground', '--popover', '--popover-foreground', '--muted', '--muted-foreground', '--border', '--input'];
|
|
143
142
|
const SCHEME_TOKEN_SET = new Set(SCHEME_TOKENS);
|
|
144
143
|
|
|
145
144
|
/** Only the `SCHEME_TOKENS` entries of `map`. */
|
|
@@ -272,8 +271,6 @@ function toTriplet({
|
|
|
272
271
|
return `${Math.round(h)} ${Math.round(s * 100)}% ${Math.round(l * 100)}%`;
|
|
273
272
|
}
|
|
274
273
|
|
|
275
|
-
/** What `completeScheme` needs from outside the scheme. */
|
|
276
|
-
|
|
277
274
|
/**
|
|
278
275
|
* The `SCHEME_TOKENS` of a scheme whose anchors the owner just edited.
|
|
279
276
|
*
|
|
@@ -284,10 +281,10 @@ function toTriplet({
|
|
|
284
281
|
* unavailable keeps `base`'s value, if any.
|
|
285
282
|
*
|
|
286
283
|
* Returns ONLY `SCHEME_TOKENS`: whatever else `base` carries (a pre-0243 row's
|
|
287
|
-
* card or
|
|
284
|
+
* card, button or secondary/accent colours, its radius) is the store's global set now, not the
|
|
288
285
|
* scheme's, and is dropped. Every output entry passes `isSchemeTokenEntry`.
|
|
289
286
|
*/
|
|
290
|
-
function completeScheme(base, anchors
|
|
287
|
+
function completeScheme(base, anchors) {
|
|
291
288
|
// Both checks: `isHslTriplet` is what the arithmetic can convert, and the
|
|
292
289
|
// scheme grammar is what a write accepts — failing either would poison a
|
|
293
290
|
// derivation or get the whole save refused.
|
|
@@ -321,18 +318,6 @@ function completeScheme(base, anchors, context = {}) {
|
|
|
321
318
|
put('--muted-foreground', derive('--muted-foreground', bgChanged || fgChanged, mixOver(fg, 0.6)));
|
|
322
319
|
put('--border', fromBase('--border'));
|
|
323
320
|
put('--input', fromBase('--input'));
|
|
324
|
-
|
|
325
|
-
// Primary is the store's, not the scheme's. It counts as a changed input only
|
|
326
|
-
// when base states the primary its tints were computed from and the context
|
|
327
|
-
// names a different one; a base without one keeps its tints until the page
|
|
328
|
-
// itself moves.
|
|
329
|
-
const basePrimary = fromBase('--primary');
|
|
330
|
-
const primaryTriplet = valid(context.primary) ?? basePrimary;
|
|
331
|
-
const primaryChanged = basePrimary !== undefined && primaryTriplet !== undefined && primaryTriplet !== basePrimary;
|
|
332
|
-
const primary = primaryTriplet === undefined ? null : tripletToRgb(primaryTriplet);
|
|
333
|
-
const tintChanged = bgChanged || primaryChanged;
|
|
334
|
-
put('--secondary', derive('--secondary', tintChanged, mixOver(primary, 0.1)));
|
|
335
|
-
put('--accent', derive('--accent', tintChanged, mixOver(primary, 0.1)));
|
|
336
321
|
return out;
|
|
337
322
|
}
|
|
338
323
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_colorFormat","require","_tokenContract","SCHEME_COLOR_TOKENS","exports","Object","freeze","Set","entries","THEME_TOKEN_CONTRACT","filter","entry","type","map","token","SCHEME_COLOR_VALUE","SCHEME_RADIUS_VALUE","SCHEME_LOOSE_VALUE","MAX_SCHEME_VALUE_LENGTH","SCHEME_TOKENS","SCHEME_TOKEN_SET","schemeTokensOf","fromEntries","has","SCHEME_ANCHOR_TOKENS","MAX_THEME_SCHEMES","SCHEME_ID_PATTERN","MAX_SCHEME_NAME_LENGTH","isPlainObject","value","Array","isArray","isThemeScheme","id","name","origin","baseSchemeId","tokens","test","undefined","length","values","every","v","resolveActiveScheme","cfg","themeSchemes","schemes","activeId","activeThemeSchemeId","active","find","scheme","TRIPLET","tripletToRgb","triplet","parts","exec","trim","isHslTriplet","h","Number","s","l","c","Math","abs","x","m","r","g","b","mix","fg","ratio","bg","round","toTriplet","rn","gn","bn","max","min","delta","completeScheme","base","anchors","context","valid","isSchemeColorValue","fromBase","fromAnchor","out","put","background","foreground","bgChanged","fgChanged","derive","inputsChanged","compute","kept","mixOver","over","basePrimary","primaryTriplet","primary","primaryChanged","tintChanged","schemeDisplayName","index","nextOwnerSchemeId","taken","n","isSchemeTokenEntry","key","_THEME_TOKEN_CONTRACT","THEME_OVERRIDE_KEY_PATTERN"],"sources":["../../../src/theme/themeScheme.ts"],"sourcesContent":["/**\n * Named theme schemes on a site configuration, and the one that is active.\n *\n * A store's theme states a SET of palettes rather than one — Dawn and Horizon\n * ship `scheme-1`..`scheme-5` for the page, the cards, the hero band, the\n * footer. The configuration therefore carries a list of schemes plus the id of\n * the active one, beside the flat `themeOverrides` map it has always had:\n *\n * themeSchemes?: [{ id, name?, origin?, tokens: { '--background': '0 0% 100%', … } }]\n * activeThemeSchemeId?: 'scheme-1'\n *\n * A scheme's `tokens` are finished CSS tokens, spelled exactly as\n * `themeOverrides` spells them — and, like `themeOverrides`, the key set is\n * OPEN. Today's writers put the 18 colour roles (`SCHEME_COLOR_TOKENS`) there,\n * sometimes `--radius`; that a palette may carry shape as well as colour is why\n * this is a THEME scheme and not a colour scheme. A new token (a font stack,\n * something the contract has not catalogued yet) needs no release anywhere but\n * its writer. The server checks only the loose shape `themeOverrides` gets (key\n * `THEME_OVERRIDE_KEY_PATTERN`, a value free of `;`, `{`, `}` and control\n * characters, ≤ 256, at most 24 entries); the typed per-token grammar is the\n * CLIENT's contract, enforced by `isSchemeTokenEntry` before the panel writes.\n * Nothing is expanded at apply time: the reader resolves the active entry and\n * hands its map to `applyThemeOverrides`, which layers it between the store map\n * and the owner's overrides, filtered and bucketed exactly like the store map.\n * A configuration with no schemes renders exactly as it did before they existed.\n *\n * A leaf module beside `tokenContract.ts`, and for the same reason that file\n * documents: requiring core's ENTRY from plain Node fails on its CSS import,\n * but a deep import of a zero-CSS leaf works. It imports only its siblings\n * `./tokenContract` and `./colorFormat`, both leaves themselves.\n *\n * ## What a scheme carries (ADR 0243)\n *\n * A theme scheme is a background and its text, plus the colours mechanically\n * derived from those two: `SCHEME_TOKENS`. Card colours, button colours,\n * radius and fonts are the store's global set (`themeOverrides`) and the\n * owner's global edits (`userThemeOverrides`), applied under and over the\n * scheme respectively — so they survive every scheme switch. Rows written\n * before 0243 may still carry more; readers apply whatever a row holds, and\n * the owner panel writes only `SCHEME_TOKENS` into the rows it creates.\n *\n * An edited THEME scheme is an OWNER row that names it in `baseSchemeId`, so\n * the panel can show the edit on that scheme's tile and revert only that one.\n *\n * ## `completeScheme` — what the owner panel recomputes\n *\n * The owner edits the two anchors. The rest of the scheme has to move with\n * them the way `web50-shopify-adapter/src/theme-tokens.ts` would have moved it\n * had the theme stated those anchors, so the arithmetic below is a COPY of the\n * adapter's (`composite`/`mix`/`toTriplet` and the token assignments at the end\n * of `extractThemeOverrides`), integer rounding included. It is copied rather\n * than shared on purpose: the adapter must not import core.\n *\n * | token | role |\n * | ------------------------ | ------------------------------------------------------ |\n * | `--background` | anchor (else inherited from base) |\n * | `--foreground` | anchor (else inherited from base) |\n * | `--popover` | derived: = background |\n * | `--popover-foreground` | derived: = foreground |\n * | `--muted` | derived: foreground 4% over background |\n * | `--muted-foreground` | derived: foreground 60% over background |\n * | `--secondary` | derived: primary 10% over background |\n * | `--accent` | derived: primary 10% over background |\n * | `--border` | inherited from base (no fallback — see below) |\n * | `--input` | inherited from base (no fallback — see below) |\n *\n * Primary is not a scheme token — it is the store's button colour — so the\n * caller passes it as `context.primary`; without one, base's own `--primary`\n * (a pre-0243 row) is used. `--border`/`--input` are read straight off the\n * theme by the adapter, which reconstructs a missing border from the theme's\n * `*_border_opacity` setting a token map does not carry — so they are\n * inherited from base, and omitted when base lacks them, as the adapter omits\n * them.\n *\n * ## Rounding: why an unchanged input keeps base's value\n *\n * The adapter mixes 8-bit channels parsed from the theme's hex; a scheme only\n * has the integer-rounded triplet, and the hex cannot be recovered from it.\n * Re-deriving from triplets therefore lands a point off now and then — Horizon\n * `color_palette`'s `--muted-foreground` comes back `359 83% 68%` against the\n * adapter's `359 84% 68%`. So a derived token is recomputed only when one of\n * its INPUTS differs from base; otherwise base's value stands. A merchant who\n * edits nothing gets the adapter's map back exactly, and one who edits the\n * background gets the family recomputed.\n *\n * When it is recomputed, triplets convert back to RGB WITHOUT rounding to\n * 8-bit first — that would be a second quantisation the adapter never\n * performs, and enough to move smallflower's `--secondary` from `230 38% 94%`\n * to `230 42% 94%`. The mix result is rounded exactly where the adapter\n * rounds it.\n */\nimport { isHslTriplet } from './colorFormat';\nimport {\n THEME_OVERRIDE_KEY_PATTERN,\n THEME_TOKEN_CONTRACT,\n} from './tokenContract';\n\n/** Where a scheme came from. Any other value on the wire reads as unknown. */\nexport type SchemeOrigin = 'UNKNOWN_SCHEME_ORIGIN' | 'THEME' | 'OWNER';\n\n/** One named palette as the configuration carries it. */\nexport interface ThemeScheme {\n /** `^[a-z0-9][a-z0-9-]{0,31}$`, unique within the list. */\n id: string;\n /** Shown in the owner panel; at most 48 characters. */\n name?: string;\n origin?: SchemeOrigin | string;\n /**\n * On an OWNER row: the id of the THEME scheme it is an edit of. Not the\n * row's own id, unique across rows (at most one edit per scheme), and it may\n * dangle — a theme publish can remove the base, and the edit survives it.\n */\n baseSchemeId?: string;\n /**\n * Token → value, keys as open as `themeOverrides`': colours as bare HSL\n * triplets (`0 0% 100%`), `--radius` as a length (`0.5rem`), anything else\n * in the loose value shape. See `isSchemeTokenEntry`.\n */\n tokens: Record<string, string>;\n}\n\n/** Every colour role in the contract (`type: 'color-hsl'`, `--heading` included). */\nexport const SCHEME_COLOR_TOKENS: ReadonlySet<string> = Object.freeze(\n new Set(\n Object.entries(THEME_TOKEN_CONTRACT)\n .filter(([, entry]) => entry.type === 'color-hsl')\n .map(([token]) => token),\n ),\n) as ReadonlySet<string>;\n\n/**\n * A scheme colour (`type: 'color-hsl'`): `H S% L%`, single-spaced, no `hsl()`\n * wrapper. Saturation and lightness are additionally capped at 100\n * (`isSchemeColorValue`); hue is bounded only by its three digits.\n */\nconst SCHEME_COLOR_VALUE =\n /^(\\d{1,3}(?:\\.\\d+)?) (\\d{1,3}(?:\\.\\d+)?)% (\\d{1,3}(?:\\.\\d+)?)%$/;\n\n/**\n * A scheme length (`type: 'length'`, i.e. `--radius`): px/rem/em, unit REQUIRED\n * (`0px`, not `0`). A bare `0` would turn `calc(var(--radius) - 4px)` into\n * invalid CSS — see the `length` note in `tokenContract.ts`.\n */\nconst SCHEME_RADIUS_VALUE = /^\\d{1,4}(?:\\.\\d+)?(?:px|rem|em)$/;\n\n/**\n * Any other scheme value — a font stack, a key the contract has not catalogued:\n * no `;`, `{`, `}` or control character. The server's `themeOverrides` value\n * shape (`^[^;{}\\p{Cntrl}]{1,256}$`); the length is checked separately in\n * UTF-16 units, as the server counts, since a `u`-flag quantifier counts code\n * points.\n */\nconst SCHEME_LOOSE_VALUE = /^[^;{}\\p{Cc}]+$/u;\nconst MAX_SCHEME_VALUE_LENGTH = 256;\n\n/**\n * What a scheme is (ADR 0243): its background and text, and the colours\n * derived from those two. The panel writes exactly these into the OWNER rows\n * it creates, and mirrors exactly these of the active row into `themeOverrides`.\n */\nexport const SCHEME_TOKENS = [\n '--background',\n '--foreground',\n '--popover',\n '--popover-foreground',\n '--muted',\n '--muted-foreground',\n '--border',\n '--input',\n '--secondary',\n '--accent',\n] as const;\n\nexport type SchemeToken = (typeof SCHEME_TOKENS)[number];\n\nconst SCHEME_TOKEN_SET: ReadonlySet<string> = new Set(SCHEME_TOKENS);\n\n/** Only the `SCHEME_TOKENS` entries of `map`. */\nexport function schemeTokensOf(\n map: Record<string, string> | null | undefined,\n): Record<string, string> {\n return Object.fromEntries(\n Object.entries(map ?? {}).filter(([token]) => SCHEME_TOKEN_SET.has(token)),\n );\n}\n\n/** The two the owner edits on a scheme, in panel order. */\nexport const SCHEME_ANCHOR_TOKENS = ['--background', '--foreground'] as const;\n\nexport type SchemeAnchorToken = (typeof SCHEME_ANCHOR_TOKENS)[number];\n\n/** Upper bound on schemes per configuration. */\nexport const MAX_THEME_SCHEMES = 16;\n\nconst SCHEME_ID_PATTERN = /^[a-z0-9][a-z0-9-]{0,31}$/;\nconst MAX_SCHEME_NAME_LENGTH = 48;\n\nconst isPlainObject = (value: unknown): value is Record<string, unknown> =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\n/**\n * Whether an untrusted value has a scheme's SHAPE.\n *\n * Token content is deliberately not judged here: `applyThemeOverrides` drops a\n * malformed key one entry at a time, exactly as it does for the flat store map\n * (and says so), so one bad token costs that token rather than the whole\n * palette. The typed value grammar is `isSchemeTokenEntry`, checked by writers.\n */\nexport function isThemeScheme(value: unknown): value is ThemeScheme {\n if (!isPlainObject(value)) {\n return false;\n }\n const { id, name, origin, baseSchemeId, tokens } = value;\n if (typeof id !== 'string' || !SCHEME_ID_PATTERN.test(id)) {\n return false;\n }\n if (baseSchemeId !== undefined && typeof baseSchemeId !== 'string') {\n return false;\n }\n if (\n name !== undefined &&\n (typeof name !== 'string' || name.length > MAX_SCHEME_NAME_LENGTH)\n ) {\n return false;\n }\n if (origin !== undefined && typeof origin !== 'string') {\n return false;\n }\n return (\n isPlainObject(tokens) &&\n Object.values(tokens).every((v) => typeof v === 'string')\n );\n}\n\n/**\n * The active scheme: the entry whose id is `activeThemeSchemeId`, else the\n * first entry, else null. Entries failing `isThemeScheme` are skipped first, so\n * a dangling id or a malformed entry falls through to the first usable one.\n */\nexport function resolveActiveScheme(\n cfg:\n | { themeSchemes?: unknown; activeThemeSchemeId?: string | null }\n | null\n | undefined,\n): ThemeScheme | null {\n if (!cfg || !Array.isArray(cfg.themeSchemes)) {\n return null;\n }\n const schemes = cfg.themeSchemes.filter(isThemeScheme);\n if (schemes.length === 0) {\n return null;\n }\n const activeId = cfg.activeThemeSchemeId;\n const active =\n typeof activeId === 'string'\n ? schemes.find((scheme) => scheme.id === activeId)\n : undefined;\n return active ?? schemes[0];\n}\n\n// ── Arithmetic copied from web50-shopify-adapter/src/theme-tokens.ts ────────\n\ninterface Rgb {\n r: number;\n g: number;\n b: number;\n}\n\nconst TRIPLET =\n /^(\\d{1,3}(?:\\.\\d+)?)\\s+(\\d{1,3}(?:\\.\\d+)?)%\\s+(\\d{1,3}(?:\\.\\d+)?)%$/;\n\n/**\n * A triplet as RGB in 0–255, NOT rounded to 8-bit — see the module header for\n * why. Same conversion as `colorFormat.hslTripletToHex`, minus its rounding.\n */\nfunction tripletToRgb(triplet: string): Rgb | null {\n const parts = TRIPLET.exec(triplet.trim());\n if (!parts || !isHslTriplet(triplet)) {\n return null;\n }\n const h = Number(parts[1]);\n const s = Number(parts[2]) / 100;\n const l = Number(parts[3]) / 100;\n\n const c = (1 - Math.abs(2 * l - 1)) * s;\n const x = c * (1 - Math.abs(((h / 60) % 2) - 1));\n const m = l - c / 2;\n const [r, g, b] =\n h < 60\n ? [c, x, 0]\n : h < 120\n ? [x, c, 0]\n : h < 180\n ? [0, c, x]\n : h < 240\n ? [0, x, c]\n : h < 300\n ? [x, 0, c]\n : [c, 0, x];\n return { r: (r + m) * 255, g: (g + m) * 255, b: (b + m) * 255 };\n}\n\n/** Adapter `composite` for an opaque-over-opaque mix, via its `mix`: channels rounded to 8-bit. */\nfunction mix(fg: Rgb, ratio: number, bg: Rgb): Rgb {\n return {\n r: Math.round(fg.r * ratio + bg.r * (1 - ratio)),\n g: Math.round(fg.g * ratio + bg.g * (1 - ratio)),\n b: Math.round(fg.b * ratio + bg.b * (1 - ratio)),\n };\n}\n\n/** Adapter `toTriplet`: `\"H S% L%\"`, integer-rounded. */\nfunction toTriplet({ r, g, b }: Rgb): string {\n const rn = r / 255;\n const gn = g / 255;\n const bn = b / 255;\n const max = Math.max(rn, gn, bn);\n const min = Math.min(rn, gn, bn);\n const l = (max + min) / 2;\n const delta = max - min;\n\n let h = 0;\n let s = 0;\n if (delta !== 0) {\n s = l > 0.5 ? delta / (2 - max - min) : delta / (max + min);\n if (max === rn) {\n h = (gn - bn) / delta + (gn < bn ? 6 : 0);\n } else if (max === gn) {\n h = (bn - rn) / delta + 2;\n } else {\n h = (rn - gn) / delta + 4;\n }\n h *= 60;\n }\n return `${Math.round(h)} ${Math.round(s * 100)}% ${Math.round(l * 100)}%`;\n}\n\n/** What `completeScheme` needs from outside the scheme. */\nexport interface SchemeContext {\n /** The store's button colour, which tints `--secondary`/`--accent`. */\n primary?: string;\n}\n\n/**\n * The `SCHEME_TOKENS` of a scheme whose anchors the owner just edited.\n *\n * `anchors` win; everything the adapter derives from them is recomputed when\n * one of its inputs changed (and kept from `base` when none did — see \"Rounding\"\n * in the module header); `--border`/`--input` are taken from `base`. Invalid\n * triplets in any input are ignored, and a derived token whose inputs are\n * unavailable keeps `base`'s value, if any.\n *\n * Returns ONLY `SCHEME_TOKENS`: whatever else `base` carries (a pre-0243 row's\n * card or button colours, its radius) is the store's global set now, not the\n * scheme's, and is dropped. Every output entry passes `isSchemeTokenEntry`.\n */\nexport function completeScheme(\n base: Record<string, string>,\n anchors: Partial<Record<SchemeAnchorToken, string>>,\n context: SchemeContext = {},\n): Record<string, string> {\n // Both checks: `isHslTriplet` is what the arithmetic can convert, and the\n // scheme grammar is what a write accepts — failing either would poison a\n // derivation or get the whole save refused.\n const valid = (value: unknown): string | undefined =>\n typeof value === 'string' &&\n isHslTriplet(value) &&\n isSchemeColorValue(value.trim())\n ? value.trim()\n : undefined;\n const fromBase = (token: string): string | undefined => valid(base[token]);\n const fromAnchor = (token: SchemeAnchorToken): string | undefined =>\n valid(anchors[token]);\n\n const out: Record<string, string> = {};\n const put = (token: string, value: string | undefined): void => {\n if (value !== undefined) {\n out[token] = value;\n }\n };\n\n const background = fromAnchor('--background') ?? fromBase('--background');\n const foreground = fromAnchor('--foreground') ?? fromBase('--foreground');\n const bgChanged = background !== fromBase('--background');\n const fgChanged = foreground !== fromBase('--foreground');\n const bg = background === undefined ? null : tripletToRgb(background);\n const fg = foreground === undefined ? null : tripletToRgb(foreground);\n\n /** base's value while the inputs are unchanged, else the recomputation (else base's). */\n const derive = (\n token: string,\n inputsChanged: boolean,\n compute: () => string | undefined,\n ): string | undefined => {\n const kept = fromBase(token);\n return !inputsChanged && kept !== undefined ? kept : compute() ?? kept;\n };\n const mixOver = (over: Rgb | null, ratio: number) => (): string | undefined =>\n over !== null && bg !== null ? toTriplet(mix(over, ratio, bg)) : undefined;\n\n put('--background', background);\n put('--foreground', foreground);\n put(\n '--popover',\n derive('--popover', bgChanged, () => background),\n );\n put(\n '--popover-foreground',\n derive('--popover-foreground', fgChanged, () => foreground),\n );\n put('--muted', derive('--muted', bgChanged || fgChanged, mixOver(fg, 0.04)));\n put(\n '--muted-foreground',\n derive('--muted-foreground', bgChanged || fgChanged, mixOver(fg, 0.6)),\n );\n\n put('--border', fromBase('--border'));\n put('--input', fromBase('--input'));\n\n // Primary is the store's, not the scheme's. It counts as a changed input only\n // when base states the primary its tints were computed from and the context\n // names a different one; a base without one keeps its tints until the page\n // itself moves.\n const basePrimary = fromBase('--primary');\n const primaryTriplet = valid(context.primary) ?? basePrimary;\n const primaryChanged =\n basePrimary !== undefined &&\n primaryTriplet !== undefined &&\n primaryTriplet !== basePrimary;\n const primary =\n primaryTriplet === undefined ? null : tripletToRgb(primaryTriplet);\n const tintChanged = bgChanged || primaryChanged;\n put('--secondary', derive('--secondary', tintChanged, mixOver(primary, 0.1)));\n put('--accent', derive('--accent', tintChanged, mixOver(primary, 0.1)));\n\n return out;\n}\n\n/** The label the panel shows: the trimmed name, else `Palette N` (1-based). */\nexport function schemeDisplayName(scheme: ThemeScheme, index: number): string {\n const name = typeof scheme.name === 'string' ? scheme.name.trim() : '';\n return name !== '' ? name : `Palette ${index + 1}`;\n}\n\n/** `owner-N` with the smallest N ≥ 1 not already taken. */\nexport function nextOwnerSchemeId(schemes: readonly { id: string }[]): string {\n const taken = new Set(schemes.map((scheme) => scheme.id));\n let n = 1;\n while (taken.has(`owner-${n}`)) {\n n += 1;\n }\n return `owner-${n}`;\n}\n\n/** A colour value a scheme may hold: `SCHEME_COLOR_VALUE`, with S and L ≤ 100. */\nfunction isSchemeColorValue(value: string): boolean {\n const parts = SCHEME_COLOR_VALUE.exec(value);\n return parts !== null && Number(parts[2]) <= 100 && Number(parts[3]) <= 100;\n}\n\n/**\n * Whether a key/value pair may be written as a scheme token — the CLIENT's\n * contract, checked before the panel writes and by `completeScheme`.\n *\n * There is no allow-list: any key of the `themeOverrides` shape\n * (`THEME_OVERRIDE_KEY_PATTERN`) is a candidate. The value grammar follows the\n * key's contract type: `color-hsl` → an HSL triplet with S and L ≤ 100;\n * `length` → a px/rem/em length with its unit; anything else (font stacks,\n * keys the contract does not know) → the loose `themeOverrides` value shape.\n *\n * The server enforces only that loose shape for every key, so a `0 101% 50%`\n * colour or a unitless radius would be ACCEPTED there — and render wrong. That\n * is why the panel refuses them here. The renderer does not re-check values.\n */\nexport function isSchemeTokenEntry(key: string, value: unknown): boolean {\n if (typeof value !== 'string' || !THEME_OVERRIDE_KEY_PATTERN.test(key)) {\n return false;\n }\n switch (THEME_TOKEN_CONTRACT[key]?.type) {\n case 'color-hsl':\n return isSchemeColorValue(value);\n case 'length':\n return SCHEME_RADIUS_VALUE.test(value);\n default:\n return (\n value.length <= MAX_SCHEME_VALUE_LENGTH &&\n SCHEME_LOOSE_VALUE.test(value)\n );\n }\n}\n"],"mappings":";;;;;;;;;;;AA2FA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AA5FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAOA;;AAGA;;AAqBA;AACO,MAAME,mBAAwC,GAAAC,OAAA,CAAAD,mBAAA,GAAGE,MAAM,CAACC,MAAM,CACnE,IAAIC,GAAG,CACLF,MAAM,CAACG,OAAO,CAACC,mCAAoB,CAAC,CACjCC,MAAM,CAAC,CAAC,GAAGC,KAAK,CAAC,KAAKA,KAAK,CAACC,IAAI,KAAK,WAAW,CAAC,CACjDC,GAAG,CAAC,CAAC,CAACC,KAAK,CAAC,KAAKA,KAAK,CAC3B,CACF,CAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,GACtB,iEAAiE;;AAEnE;AACA;AACA;AACA;AACA;AACA,MAAMC,mBAAmB,GAAG,kCAAkC;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,GAAG,kBAAkB;AAC7C,MAAMC,uBAAuB,GAAG,GAAG;;AAEnC;AACA;AACA;AACA;AACA;AACO,MAAMC,aAAa,GAAAf,OAAA,CAAAe,aAAA,GAAG,CAC3B,cAAc,EACd,cAAc,EACd,WAAW,EACX,sBAAsB,EACtB,SAAS,EACT,oBAAoB,EACpB,UAAU,EACV,SAAS,EACT,aAAa,EACb,UAAU,CACF;AAIV,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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_colorFormat","require","_tokenContract","SCHEME_COLOR_TOKENS","exports","Object","freeze","Set","entries","THEME_TOKEN_CONTRACT","filter","entry","type","map","token","SCHEME_COLOR_VALUE","SCHEME_RADIUS_VALUE","SCHEME_LOOSE_VALUE","MAX_SCHEME_VALUE_LENGTH","SCHEME_TOKENS","SCHEME_TOKEN_SET","schemeTokensOf","fromEntries","has","SCHEME_ANCHOR_TOKENS","MAX_THEME_SCHEMES","SCHEME_ID_PATTERN","MAX_SCHEME_NAME_LENGTH","isPlainObject","value","Array","isArray","isThemeScheme","id","name","origin","baseSchemeId","tokens","test","undefined","length","values","every","v","resolveActiveScheme","cfg","themeSchemes","schemes","activeId","activeThemeSchemeId","active","find","scheme","TRIPLET","tripletToRgb","triplet","parts","exec","trim","isHslTriplet","h","Number","s","l","c","Math","abs","x","m","r","g","b","mix","fg","ratio","bg","round","toTriplet","rn","gn","bn","max","min","delta","completeScheme","base","anchors","valid","isSchemeColorValue","fromBase","fromAnchor","out","put","background","foreground","bgChanged","fgChanged","derive","inputsChanged","compute","kept","mixOver","over","schemeDisplayName","index","nextOwnerSchemeId","taken","n","isSchemeTokenEntry","key","_THEME_TOKEN_CONTRACT","THEME_OVERRIDE_KEY_PATTERN"],"sources":["../../../src/theme/themeScheme.ts"],"sourcesContent":["/**\n * Named theme schemes on a site configuration, and the one that is active.\n *\n * A store's theme states a SET of palettes rather than one — Dawn and Horizon\n * ship `scheme-1`..`scheme-5` for the page, the cards, the hero band, the\n * footer. The configuration therefore carries a list of schemes plus the id of\n * the active one, beside the flat `themeOverrides` map it has always had:\n *\n * themeSchemes?: [{ id, name?, origin?, tokens: { '--background': '0 0% 100%', … } }]\n * activeThemeSchemeId?: 'scheme-1'\n *\n * A scheme's `tokens` are finished CSS tokens, spelled exactly as\n * `themeOverrides` spells them — and, like `themeOverrides`, the key set is\n * OPEN. Today's writers put the 18 colour roles (`SCHEME_COLOR_TOKENS`) there,\n * sometimes `--radius`; that a palette may carry shape as well as colour is why\n * this is a THEME scheme and not a colour scheme. A new token (a font stack,\n * something the contract has not catalogued yet) needs no release anywhere but\n * its writer. The server checks only the loose shape `themeOverrides` gets (key\n * `THEME_OVERRIDE_KEY_PATTERN`, a value free of `;`, `{`, `}` and control\n * characters, ≤ 256, at most 24 entries); the typed per-token grammar is the\n * CLIENT's contract, enforced by `isSchemeTokenEntry` before the panel writes.\n * Nothing is expanded at apply time: the reader resolves the active entry and\n * hands its map to `applyThemeOverrides`, which layers it between the store map\n * and the owner's overrides, filtered and bucketed exactly like the store map.\n * A configuration with no schemes renders exactly as it did before they existed.\n *\n * A leaf module beside `tokenContract.ts`, and for the same reason that file\n * documents: requiring core's ENTRY from plain Node fails on its CSS import,\n * but a deep import of a zero-CSS leaf works. It imports only its siblings\n * `./tokenContract` and `./colorFormat`, both leaves themselves.\n *\n * ## What a scheme carries (ADR 0243)\n *\n * A theme scheme is a background and its text, plus the colours mechanically\n * derived from those two: `SCHEME_TOKENS`. Card colours, button colours,\n * radius and fonts are the store's global set (`themeOverrides`) and the\n * owner's global edits (`userThemeOverrides`), applied under and over the\n * scheme respectively — so they survive every scheme switch. Rows written\n * before 0243 may still carry more; readers apply whatever a row holds, and\n * the owner panel writes only `SCHEME_TOKENS` into the rows it creates.\n *\n * An edited THEME scheme is an OWNER row that names it in `baseSchemeId`, so\n * the panel can show the edit on that scheme's tile and revert only that one.\n *\n * ## `completeScheme` — what the owner panel recomputes\n *\n * The owner edits the two anchors. The rest of the scheme has to move with\n * them the way `web50-shopify-adapter/src/theme-tokens.ts` would have moved it\n * had the theme stated those anchors, so the arithmetic below is a COPY of the\n * adapter's (`composite`/`mix`/`toTriplet` and the token assignments at the end\n * of `extractThemeOverrides`), integer rounding included. It is copied rather\n * than shared on purpose: the adapter must not import core.\n *\n * | token | role |\n * | ------------------------ | ------------------------------------------------------ |\n * | `--background` | anchor (else inherited from base) |\n * | `--foreground` | anchor (else inherited from base) |\n * | `--popover` | derived: = background |\n * | `--popover-foreground` | derived: = foreground |\n * | `--muted` | derived: foreground 4% over background |\n * | `--muted-foreground` | derived: foreground 60% over background |\n * | `--border` | inherited from base (no fallback — see below) |\n * | `--input` | inherited from base (no fallback — see below) |\n *\n * `--secondary`/`--accent` are NOT scheme tokens: the adapter mixes them from\n * the button colour, so they belong to the store's global set\n * (`themeOverrides`) with the buttons, and a scheme edit leaves them alone.\n * `--border`/`--input` are read straight off the\n * theme by the adapter, which reconstructs a missing border from the theme's\n * `*_border_opacity` setting a token map does not carry — so they are\n * inherited from base, and omitted when base lacks them, as the adapter omits\n * them.\n *\n * ## Rounding: why an unchanged input keeps base's value\n *\n * The adapter mixes 8-bit channels parsed from the theme's hex; a scheme only\n * has the integer-rounded triplet, and the hex cannot be recovered from it.\n * Re-deriving from triplets therefore lands a point off now and then — Horizon\n * `color_palette`'s `--muted-foreground` comes back `359 83% 68%` against the\n * adapter's `359 84% 68%`. So a derived token is recomputed only when one of\n * its INPUTS differs from base; otherwise base's value stands. A merchant who\n * edits nothing gets the adapter's map back exactly, and one who edits the\n * background gets the family recomputed.\n *\n * When it is recomputed, triplets convert back to RGB WITHOUT rounding to\n * 8-bit first — that would be a second quantisation the adapter never\n * performs, and enough to move a mixed colour's saturation by several points\n * (smallflower's button tint went from `230 38% 94%` to `230 42% 94%`). The mix result is rounded exactly where the adapter\n * rounds it.\n */\nimport { isHslTriplet } from './colorFormat';\nimport {\n THEME_OVERRIDE_KEY_PATTERN,\n THEME_TOKEN_CONTRACT,\n} from './tokenContract';\n\n/** Where a scheme came from. Any other value on the wire reads as unknown. */\nexport type SchemeOrigin = 'UNKNOWN_SCHEME_ORIGIN' | 'THEME' | 'OWNER';\n\n/** One named palette as the configuration carries it. */\nexport interface ThemeScheme {\n /** `^[a-z0-9][a-z0-9-]{0,31}$`, unique within the list. */\n id: string;\n /** Shown in the owner panel; at most 48 characters. */\n name?: string;\n origin?: SchemeOrigin | string;\n /**\n * On an OWNER row: the id of the THEME scheme it is an edit of. Not the\n * row's own id, unique across rows (at most one edit per scheme), and it may\n * dangle — a theme publish can remove the base, and the edit survives it.\n */\n baseSchemeId?: string;\n /**\n * Token → value, keys as open as `themeOverrides`': colours as bare HSL\n * triplets (`0 0% 100%`), `--radius` as a length (`0.5rem`), anything else\n * in the loose value shape. See `isSchemeTokenEntry`.\n */\n tokens: Record<string, string>;\n}\n\n/** Every colour role in the contract (`type: 'color-hsl'`, `--heading` included). */\nexport const SCHEME_COLOR_TOKENS: ReadonlySet<string> = Object.freeze(\n new Set(\n Object.entries(THEME_TOKEN_CONTRACT)\n .filter(([, entry]) => entry.type === 'color-hsl')\n .map(([token]) => token),\n ),\n) as ReadonlySet<string>;\n\n/**\n * A scheme colour (`type: 'color-hsl'`): `H S% L%`, single-spaced, no `hsl()`\n * wrapper. Saturation and lightness are additionally capped at 100\n * (`isSchemeColorValue`); hue is bounded only by its three digits.\n */\nconst SCHEME_COLOR_VALUE =\n /^(\\d{1,3}(?:\\.\\d+)?) (\\d{1,3}(?:\\.\\d+)?)% (\\d{1,3}(?:\\.\\d+)?)%$/;\n\n/**\n * A scheme length (`type: 'length'`, i.e. `--radius`): px/rem/em, unit REQUIRED\n * (`0px`, not `0`). A bare `0` would turn `calc(var(--radius) - 4px)` into\n * invalid CSS — see the `length` note in `tokenContract.ts`.\n */\nconst SCHEME_RADIUS_VALUE = /^\\d{1,4}(?:\\.\\d+)?(?:px|rem|em)$/;\n\n/**\n * Any other scheme value — a font stack, a key the contract has not catalogued:\n * no `;`, `{`, `}` or control character. The server's `themeOverrides` value\n * shape (`^[^;{}\\p{Cntrl}]{1,256}$`); the length is checked separately in\n * UTF-16 units, as the server counts, since a `u`-flag quantifier counts code\n * points.\n */\nconst SCHEME_LOOSE_VALUE = /^[^;{}\\p{Cc}]+$/u;\nconst MAX_SCHEME_VALUE_LENGTH = 256;\n\n/**\n * What a scheme is (ADR 0243): its background and text, and the colours\n * derived from those two. The panel writes exactly these into the OWNER rows\n * it creates, and mirrors exactly these of the active row into `themeOverrides`.\n */\nexport const SCHEME_TOKENS = [\n '--background',\n '--foreground',\n '--popover',\n '--popover-foreground',\n '--muted',\n '--muted-foreground',\n '--border',\n '--input',\n] as const;\n\nexport type SchemeToken = (typeof SCHEME_TOKENS)[number];\n\nconst SCHEME_TOKEN_SET: ReadonlySet<string> = new Set(SCHEME_TOKENS);\n\n/** Only the `SCHEME_TOKENS` entries of `map`. */\nexport function schemeTokensOf(\n map: Record<string, string> | null | undefined,\n): Record<string, string> {\n return Object.fromEntries(\n Object.entries(map ?? {}).filter(([token]) => SCHEME_TOKEN_SET.has(token)),\n );\n}\n\n/** The two the owner edits on a scheme, in panel order. */\nexport const SCHEME_ANCHOR_TOKENS = ['--background', '--foreground'] as const;\n\nexport type SchemeAnchorToken = (typeof SCHEME_ANCHOR_TOKENS)[number];\n\n/** Upper bound on schemes per configuration. */\nexport const MAX_THEME_SCHEMES = 16;\n\nconst SCHEME_ID_PATTERN = /^[a-z0-9][a-z0-9-]{0,31}$/;\nconst MAX_SCHEME_NAME_LENGTH = 48;\n\nconst isPlainObject = (value: unknown): value is Record<string, unknown> =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\n/**\n * Whether an untrusted value has a scheme's SHAPE.\n *\n * Token content is deliberately not judged here: `applyThemeOverrides` drops a\n * malformed key one entry at a time, exactly as it does for the flat store map\n * (and says so), so one bad token costs that token rather than the whole\n * palette. The typed value grammar is `isSchemeTokenEntry`, checked by writers.\n */\nexport function isThemeScheme(value: unknown): value is ThemeScheme {\n if (!isPlainObject(value)) {\n return false;\n }\n const { id, name, origin, baseSchemeId, tokens } = value;\n if (typeof id !== 'string' || !SCHEME_ID_PATTERN.test(id)) {\n return false;\n }\n if (baseSchemeId !== undefined && typeof baseSchemeId !== 'string') {\n return false;\n }\n if (\n name !== undefined &&\n (typeof name !== 'string' || name.length > MAX_SCHEME_NAME_LENGTH)\n ) {\n return false;\n }\n if (origin !== undefined && typeof origin !== 'string') {\n return false;\n }\n return (\n isPlainObject(tokens) &&\n Object.values(tokens).every((v) => typeof v === 'string')\n );\n}\n\n/**\n * The active scheme: the entry whose id is `activeThemeSchemeId`, else the\n * first entry, else null. Entries failing `isThemeScheme` are skipped first, so\n * a dangling id or a malformed entry falls through to the first usable one.\n */\nexport function resolveActiveScheme(\n cfg:\n | { themeSchemes?: unknown; activeThemeSchemeId?: string | null }\n | null\n | undefined,\n): ThemeScheme | null {\n if (!cfg || !Array.isArray(cfg.themeSchemes)) {\n return null;\n }\n const schemes = cfg.themeSchemes.filter(isThemeScheme);\n if (schemes.length === 0) {\n return null;\n }\n const activeId = cfg.activeThemeSchemeId;\n const active =\n typeof activeId === 'string'\n ? schemes.find((scheme) => scheme.id === activeId)\n : undefined;\n return active ?? schemes[0];\n}\n\n// ── Arithmetic copied from web50-shopify-adapter/src/theme-tokens.ts ────────\n\ninterface Rgb {\n r: number;\n g: number;\n b: number;\n}\n\nconst TRIPLET =\n /^(\\d{1,3}(?:\\.\\d+)?)\\s+(\\d{1,3}(?:\\.\\d+)?)%\\s+(\\d{1,3}(?:\\.\\d+)?)%$/;\n\n/**\n * A triplet as RGB in 0–255, NOT rounded to 8-bit — see the module header for\n * why. Same conversion as `colorFormat.hslTripletToHex`, minus its rounding.\n */\nfunction tripletToRgb(triplet: string): Rgb | null {\n const parts = TRIPLET.exec(triplet.trim());\n if (!parts || !isHslTriplet(triplet)) {\n return null;\n }\n const h = Number(parts[1]);\n const s = Number(parts[2]) / 100;\n const l = Number(parts[3]) / 100;\n\n const c = (1 - Math.abs(2 * l - 1)) * s;\n const x = c * (1 - Math.abs(((h / 60) % 2) - 1));\n const m = l - c / 2;\n const [r, g, b] =\n h < 60\n ? [c, x, 0]\n : h < 120\n ? [x, c, 0]\n : h < 180\n ? [0, c, x]\n : h < 240\n ? [0, x, c]\n : h < 300\n ? [x, 0, c]\n : [c, 0, x];\n return { r: (r + m) * 255, g: (g + m) * 255, b: (b + m) * 255 };\n}\n\n/** Adapter `composite` for an opaque-over-opaque mix, via its `mix`: channels rounded to 8-bit. */\nfunction mix(fg: Rgb, ratio: number, bg: Rgb): Rgb {\n return {\n r: Math.round(fg.r * ratio + bg.r * (1 - ratio)),\n g: Math.round(fg.g * ratio + bg.g * (1 - ratio)),\n b: Math.round(fg.b * ratio + bg.b * (1 - ratio)),\n };\n}\n\n/** Adapter `toTriplet`: `\"H S% L%\"`, integer-rounded. */\nfunction toTriplet({ r, g, b }: Rgb): string {\n const rn = r / 255;\n const gn = g / 255;\n const bn = b / 255;\n const max = Math.max(rn, gn, bn);\n const min = Math.min(rn, gn, bn);\n const l = (max + min) / 2;\n const delta = max - min;\n\n let h = 0;\n let s = 0;\n if (delta !== 0) {\n s = l > 0.5 ? delta / (2 - max - min) : delta / (max + min);\n if (max === rn) {\n h = (gn - bn) / delta + (gn < bn ? 6 : 0);\n } else if (max === gn) {\n h = (bn - rn) / delta + 2;\n } else {\n h = (rn - gn) / delta + 4;\n }\n h *= 60;\n }\n return `${Math.round(h)} ${Math.round(s * 100)}% ${Math.round(l * 100)}%`;\n}\n\n/**\n * The `SCHEME_TOKENS` of a scheme whose anchors the owner just edited.\n *\n * `anchors` win; everything the adapter derives from them is recomputed when\n * one of its inputs changed (and kept from `base` when none did — see \"Rounding\"\n * in the module header); `--border`/`--input` are taken from `base`. Invalid\n * triplets in any input are ignored, and a derived token whose inputs are\n * unavailable keeps `base`'s value, if any.\n *\n * Returns ONLY `SCHEME_TOKENS`: whatever else `base` carries (a pre-0243 row's\n * card, button or secondary/accent colours, its radius) is the store's global set now, not the\n * scheme's, and is dropped. Every output entry passes `isSchemeTokenEntry`.\n */\nexport function completeScheme(\n base: Record<string, string>,\n anchors: Partial<Record<SchemeAnchorToken, string>>,\n): Record<string, string> {\n // Both checks: `isHslTriplet` is what the arithmetic can convert, and the\n // scheme grammar is what a write accepts — failing either would poison a\n // derivation or get the whole save refused.\n const valid = (value: unknown): string | undefined =>\n typeof value === 'string' &&\n isHslTriplet(value) &&\n isSchemeColorValue(value.trim())\n ? value.trim()\n : undefined;\n const fromBase = (token: string): string | undefined => valid(base[token]);\n const fromAnchor = (token: SchemeAnchorToken): string | undefined =>\n valid(anchors[token]);\n\n const out: Record<string, string> = {};\n const put = (token: string, value: string | undefined): void => {\n if (value !== undefined) {\n out[token] = value;\n }\n };\n\n const background = fromAnchor('--background') ?? fromBase('--background');\n const foreground = fromAnchor('--foreground') ?? fromBase('--foreground');\n const bgChanged = background !== fromBase('--background');\n const fgChanged = foreground !== fromBase('--foreground');\n const bg = background === undefined ? null : tripletToRgb(background);\n const fg = foreground === undefined ? null : tripletToRgb(foreground);\n\n /** base's value while the inputs are unchanged, else the recomputation (else base's). */\n const derive = (\n token: string,\n inputsChanged: boolean,\n compute: () => string | undefined,\n ): string | undefined => {\n const kept = fromBase(token);\n return !inputsChanged && kept !== undefined ? kept : compute() ?? kept;\n };\n const mixOver = (over: Rgb | null, ratio: number) => (): string | undefined =>\n over !== null && bg !== null ? toTriplet(mix(over, ratio, bg)) : undefined;\n\n put('--background', background);\n put('--foreground', foreground);\n put(\n '--popover',\n derive('--popover', bgChanged, () => background),\n );\n put(\n '--popover-foreground',\n derive('--popover-foreground', fgChanged, () => foreground),\n );\n put('--muted', derive('--muted', bgChanged || fgChanged, mixOver(fg, 0.04)));\n put(\n '--muted-foreground',\n derive('--muted-foreground', bgChanged || fgChanged, mixOver(fg, 0.6)),\n );\n\n put('--border', fromBase('--border'));\n put('--input', fromBase('--input'));\n\n return out;\n}\n\n/** The label the panel shows: the trimmed name, else `Palette N` (1-based). */\nexport function schemeDisplayName(scheme: ThemeScheme, index: number): string {\n const name = typeof scheme.name === 'string' ? scheme.name.trim() : '';\n return name !== '' ? name : `Palette ${index + 1}`;\n}\n\n/** `owner-N` with the smallest N ≥ 1 not already taken. */\nexport function nextOwnerSchemeId(schemes: readonly { id: string }[]): string {\n const taken = new Set(schemes.map((scheme) => scheme.id));\n let n = 1;\n while (taken.has(`owner-${n}`)) {\n n += 1;\n }\n return `owner-${n}`;\n}\n\n/** A colour value a scheme may hold: `SCHEME_COLOR_VALUE`, with S and L ≤ 100. */\nfunction isSchemeColorValue(value: string): boolean {\n const parts = SCHEME_COLOR_VALUE.exec(value);\n return parts !== null && Number(parts[2]) <= 100 && Number(parts[3]) <= 100;\n}\n\n/**\n * Whether a key/value pair may be written as a scheme token — the CLIENT's\n * contract, checked before the panel writes and by `completeScheme`.\n *\n * There is no allow-list: any key of the `themeOverrides` shape\n * (`THEME_OVERRIDE_KEY_PATTERN`) is a candidate. The value grammar follows the\n * key's contract type: `color-hsl` → an HSL triplet with S and L ≤ 100;\n * `length` → a px/rem/em length with its unit; anything else (font stacks,\n * keys the contract does not know) → the loose `themeOverrides` value shape.\n *\n * The server enforces only that loose shape for every key, so a `0 101% 50%`\n * colour or a unitless radius would be ACCEPTED there — and render wrong. That\n * is why the panel refuses them here. The renderer does not re-check values.\n */\nexport function isSchemeTokenEntry(key: string, value: unknown): boolean {\n if (typeof value !== 'string' || !THEME_OVERRIDE_KEY_PATTERN.test(key)) {\n return false;\n }\n switch (THEME_TOKEN_CONTRACT[key]?.type) {\n case 'color-hsl':\n return isSchemeColorValue(value);\n case 'length':\n return SCHEME_RADIUS_VALUE.test(value);\n default:\n return (\n value.length <= MAX_SCHEME_VALUE_LENGTH &&\n SCHEME_LOOSE_VALUE.test(value)\n );\n }\n}\n"],"mappings":";;;;;;;;;;;AA0FA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AA3FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAOA;;AAGA;;AAqBA;AACO,MAAME,mBAAwC,GAAAC,OAAA,CAAAD,mBAAA,GAAGE,MAAM,CAACC,MAAM,CACnE,IAAIC,GAAG,CACLF,MAAM,CAACG,OAAO,CAACC,mCAAoB,CAAC,CACjCC,MAAM,CAAC,CAAC,GAAGC,KAAK,CAAC,KAAKA,KAAK,CAACC,IAAI,KAAK,WAAW,CAAC,CACjDC,GAAG,CAAC,CAAC,CAACC,KAAK,CAAC,KAAKA,KAAK,CAC3B,CACF,CAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,GACtB,iEAAiE;;AAEnE;AACA;AACA;AACA;AACA;AACA,MAAMC,mBAAmB,GAAG,kCAAkC;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,GAAG,kBAAkB;AAC7C,MAAMC,uBAAuB,GAAG,GAAG;;AAEnC;AACA;AACA;AACA;AACA;AACO,MAAMC,aAAa,GAAAf,OAAA,CAAAe,aAAA,GAAG,CAC3B,cAAc,EACd,cAAc,EACd,WAAW,EACX,sBAAsB,EACtB,SAAS,EACT,oBAAoB,EACpB,UAAU,EACV,SAAS,CACD;AAIV,MAAMC,gBAAqC,GAAG,IAAIb,G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","ignoreList":[]}
|
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","DROP_SECTION","DIAGNOSTIC_TYPES","buildImageSearchFilter","ImageSearchFilterToken","backgroundFilter","HeroSectionDefinition","HeroEntitySectionDefinition","KpiSectionDefinition","MetricsSectionDefinition","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","entityHref","normalizeEntityItem","toCatalogPath","entityPayloadFromItems","mergeEntityData","fetchEntityListData","listEntityItems","LIST_ITEMS_ENDPOINT","getEntityExtractor","registerEntityExtractor","transformToSolutionEntityData","transformToBlogPostEntityData","transformToGenericEntityData","toMatchedOptions","formatMoney","readCurrencyCode","formatPriceField","formatProductPriceLabel","isProductFamilyEntityType","isDocumentFamilyEntityType","PLATFORM_ENTITY_TYPES","resolveEntityTypeConfig","CALLOUT_KINDS","CALLOUT_SEMANTICS","useWeb5Link","useConversation","useDebugImageContext","useResolvedImageSources","useImageSlot","ImageSlotProvider","useImageSlotCollector","SectionsRuntimeProvider","SectionRuntimeProvider","useCurrentSectionOptions","useCurrentSectionId","composeSemantic","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","UNKNOWN_CONSENT","HOST_CONSENT_GLOBAL","unlockOnUserAction","mayPersistToken","getConsentSnapshot","subscribeToConsent","installConsentProvider","resetConsentGateForTests","detectConsentProvider","initConsentGate","CONSENT_OVERRIDE_KEY","CONSENT_OVERRIDE_QUERY_PARAM","getConsentOverride","setConsentOverride","createShopifyConsentProvider","isShopifyHost","createOneTrustConsentProvider","isOneTrustHost","createHostSuppliedConsentProvider","hasHostSuppliedConsent","publishHostConsent","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","AiDisclosure","DEFAULT_AI_DISCLOSURE_TEXT","ASSISTANT_TOKEN","UNBRANDED_ASSISTANT_NAME","DEFAULT_PROMPT_PLACEHOLDER","assistantName","resolveAssistantPlaceholder","AiIcon","PoweredByBadge","DEFAULT_POWERED_BY_HREF","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_ANSWER_SETTLED_EVENT","WEB5_REDIRECT_EVENT","loadClientBundle","getClientBundleOverride","isTrustedBundleHost","TEMPLATES_CDN_BASE","TEMPLATES_MANIFEST_URL","getTemplateOverride","isTemplatePickerRequested","isValidTemplateId","resolveClientBundleUrl","mergeClientConfig","applyThemeOverrides","themeOverrideDeclarations","THEME_OVERRIDE_TOKENS","THEME_TOKEN_CONTRACT","BRAND_TOKENS","EDITABLE_TOKENS","TOKEN_NAME_PATTERN","THEME_OVERRIDE_KEY_PATTERN","bucketOf","hostAliasFor","SCHEME_COLOR_TOKENS","MAX_THEME_SCHEMES","SCHEME_ANCHOR_TOKENS","SCHEME_TOKENS","completeScheme","isThemeScheme","isSchemeTokenEntry","nextOwnerSchemeId","resolveActiveScheme","schemeDisplayName","schemeTokensOf","WEB5_CHROME_TOKENS","web5ChromeProperties","web5ChromeProperty","isThemeDebugEnabled","THEME_DEBUG_KEY","THEME_DEBUG_QUERY_PARAM","hexToHslTriplet","hslTripletToHex","isHslTriplet","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","isSimulationTraffic","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 MetricsCompProps,\n MetricsItemCompProps,\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 MetricsItemComponent,\n FeatureItemComponent,\n FeatureCardComponent,\n GenericEntityComponent,\n AiNarrativeComponent,\n ComparisonSectionComponent,\n TextBlockSectionComponent,\n HeroSectionComponent,\n HeroEntitySectionComponent,\n KpiSectionComponent,\n MetricsSectionComponent,\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 MetricsSectionDefinition,\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 entityHref,\n normalizeEntityItem,\n toCatalogPath,\n entityPayloadFromItems,\n mergeEntityData,\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 isProductFamilyEntityType,\n isDocumentFamilyEntityType,\n PLATFORM_ENTITY_TYPES,\n resolveEntityTypeConfig,\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';\n\n// Image slots (ADR 0222/0223/0225): a section declares the holes in its layout\n// and a per-section collector resolves them as one set. Replaces the per-image\n// `useResolvedImageSources` path above, which is kept until its callers move.\nexport { useImageSlot } from './hooks/useImageSlot';\nexport type { UseImageSlotOptions, ResolvedImage } from './hooks/useImageSlot';\nexport {\n ImageSlotProvider,\n useImageSlotCollector,\n} from './context/ImageSlotContext';\nexport type {\n ImageSlotCollector,\n ImageSlotProviderProps,\n} from './context/ImageSlotContext';\n\n// Section runtime: the host mounts these around the page and around each\n// section, so a component can read the id of the section it renders inside\n// and the `componentOptions` its registry entry carried. Client bundles used\n// to ship their own copies as uiSlots; those are superseded by this.\nexport {\n SectionsRuntimeProvider,\n SectionRuntimeProvider,\n useCurrentSectionOptions,\n useCurrentSectionId,\n} from './context/SectionRuntimeContext';\nexport type {\n RuntimeSection,\n SectionsRuntimeProviderProps,\n SectionRuntimeProviderProps,\n} from './context/SectionRuntimeContext';\nexport { composeSemantic } from './image/composeSemantic';\nexport type { ComposeSemanticInput } from './image/composeSemantic';\nexport type {\n ImageSlotKind,\n ImageMatchQuality,\n ImageKind,\n ImageBackground,\n ImageSlotRequest,\n ImagePalette,\n ImageStatGrid,\n ImageVisualMetadata,\n ResolvedImageSlot,\n ResolveImageSetResponse,\n ResolveImageSetPort,\n SlotState,\n ImageSubject,\n} from './image/imageSlotTypes';\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 type EntityFilteredReason,\n} from './utils/analyticsEvents';\n\n// Consent gate (DL #218)\nexport {\n type ConsentState,\n type ConsentPurpose,\n type GatedPurpose,\n type ConsentSnapshot,\n type ConsentProvider,\n type HostConsentInput,\n UNKNOWN_CONSENT,\n HOST_CONSENT_GLOBAL,\n unlockOnUserAction,\n mayPersistToken,\n getConsentSnapshot,\n subscribeToConsent,\n installConsentProvider,\n resetConsentGateForTests,\n detectConsentProvider,\n initConsentGate,\n CONSENT_OVERRIDE_KEY,\n CONSENT_OVERRIDE_QUERY_PARAM,\n getConsentOverride,\n setConsentOverride,\n createShopifyConsentProvider,\n isShopifyHost,\n createOneTrustConsentProvider,\n isOneTrustHost,\n createHostSuppliedConsentProvider,\n hasHostSuppliedConsent,\n publishHostConsent,\n} from './privacy';\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 AiDisclosure,\n DEFAULT_AI_DISCLOSURE_TEXT,\n type AiDisclosureProps,\n} from './components/ui/AiDisclosure';\nexport {\n ASSISTANT_TOKEN,\n UNBRANDED_ASSISTANT_NAME,\n DEFAULT_PROMPT_PLACEHOLDER,\n assistantName,\n resolveAssistantPlaceholder,\n} from './lib/assistant';\nexport { AiIcon } from './components/ui/icons/AiIcon';\nexport {\n PoweredByBadge,\n DEFAULT_POWERED_BY_HREF,\n type PoweredByBadgeProps,\n} from './components/ui/PoweredByBadge';\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';\nexport {\n WEB5_ANSWER_SETTLED_EVENT,\n type Web5AnswerSettledStatus,\n type Web5AnswerSettledEventDetail,\n type Web5AnswerSettledEvent,\n} from './types/answerSettledEvent';\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 themeOverrideDeclarations,\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 THEME_OVERRIDE_KEY_PATTERN,\n bucketOf,\n hostAliasFor,\n type TokenBucket,\n type TokenContractEntry,\n type TokenType,\n} from './theme/tokenContract';\nexport {\n SCHEME_COLOR_TOKENS,\n MAX_THEME_SCHEMES,\n SCHEME_ANCHOR_TOKENS,\n SCHEME_TOKENS,\n completeScheme,\n isThemeScheme,\n isSchemeTokenEntry,\n nextOwnerSchemeId,\n resolveActiveScheme,\n schemeDisplayName,\n schemeTokensOf,\n type ThemeScheme,\n type SchemeAnchorToken,\n type SchemeContext,\n type SchemeToken,\n type SchemeOrigin,\n} from './theme/themeScheme';\nexport {\n WEB5_CHROME_TOKENS,\n web5ChromeProperties,\n web5ChromeProperty,\n type Web5ChromeToken,\n} from './theme/chromeTokens';\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":"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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","DROP_SECTION","DIAGNOSTIC_TYPES","buildImageSearchFilter","ImageSearchFilterToken","backgroundFilter","HeroSectionDefinition","HeroEntitySectionDefinition","KpiSectionDefinition","MetricsSectionDefinition","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","entityHref","normalizeEntityItem","toCatalogPath","entityPayloadFromItems","mergeEntityData","fetchEntityListData","listEntityItems","LIST_ITEMS_ENDPOINT","getEntityExtractor","registerEntityExtractor","transformToSolutionEntityData","transformToBlogPostEntityData","transformToGenericEntityData","toMatchedOptions","formatMoney","readCurrencyCode","formatPriceField","formatProductPriceLabel","isProductFamilyEntityType","isDocumentFamilyEntityType","PLATFORM_ENTITY_TYPES","resolveEntityTypeConfig","CALLOUT_KINDS","CALLOUT_SEMANTICS","useWeb5Link","useConversation","useDebugImageContext","useResolvedImageSources","useImageSlot","ImageSlotProvider","useImageSlotCollector","SectionsRuntimeProvider","SectionRuntimeProvider","useCurrentSectionOptions","useCurrentSectionId","composeSemantic","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","UNKNOWN_CONSENT","HOST_CONSENT_GLOBAL","unlockOnUserAction","mayPersistToken","getConsentSnapshot","subscribeToConsent","installConsentProvider","resetConsentGateForTests","detectConsentProvider","initConsentGate","CONSENT_OVERRIDE_KEY","CONSENT_OVERRIDE_QUERY_PARAM","getConsentOverride","setConsentOverride","createShopifyConsentProvider","isShopifyHost","createOneTrustConsentProvider","isOneTrustHost","createHostSuppliedConsentProvider","hasHostSuppliedConsent","publishHostConsent","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","AiDisclosure","DEFAULT_AI_DISCLOSURE_TEXT","ASSISTANT_TOKEN","UNBRANDED_ASSISTANT_NAME","DEFAULT_PROMPT_PLACEHOLDER","assistantName","resolveAssistantPlaceholder","AiIcon","PoweredByBadge","DEFAULT_POWERED_BY_HREF","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_ANSWER_SETTLED_EVENT","WEB5_REDIRECT_EVENT","loadClientBundle","getClientBundleOverride","isTrustedBundleHost","TEMPLATES_CDN_BASE","TEMPLATES_MANIFEST_URL","getTemplateOverride","isTemplatePickerRequested","isValidTemplateId","resolveClientBundleUrl","mergeClientConfig","applyThemeOverrides","themeOverrideDeclarations","THEME_OVERRIDE_TOKENS","THEME_TOKEN_CONTRACT","BRAND_TOKENS","EDITABLE_TOKENS","TOKEN_NAME_PATTERN","THEME_OVERRIDE_KEY_PATTERN","bucketOf","hostAliasFor","SCHEME_COLOR_TOKENS","MAX_THEME_SCHEMES","SCHEME_ANCHOR_TOKENS","SCHEME_TOKENS","completeScheme","isThemeScheme","isSchemeTokenEntry","nextOwnerSchemeId","resolveActiveScheme","schemeDisplayName","schemeTokensOf","WEB5_CHROME_TOKENS","web5ChromeProperties","web5ChromeProperty","isThemeDebugEnabled","THEME_DEBUG_KEY","THEME_DEBUG_QUERY_PARAM","hexToHslTriplet","hslTripletToHex","isHslTriplet","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","isSimulationTraffic","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 MetricsCompProps,\n MetricsItemCompProps,\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 MetricsItemComponent,\n FeatureItemComponent,\n FeatureCardComponent,\n GenericEntityComponent,\n AiNarrativeComponent,\n ComparisonSectionComponent,\n TextBlockSectionComponent,\n HeroSectionComponent,\n HeroEntitySectionComponent,\n KpiSectionComponent,\n MetricsSectionComponent,\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 MetricsSectionDefinition,\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 entityHref,\n normalizeEntityItem,\n toCatalogPath,\n entityPayloadFromItems,\n mergeEntityData,\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 isProductFamilyEntityType,\n isDocumentFamilyEntityType,\n PLATFORM_ENTITY_TYPES,\n resolveEntityTypeConfig,\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';\n\n// Image slots (ADR 0222/0223/0225): a section declares the holes in its layout\n// and a per-section collector resolves them as one set. Replaces the per-image\n// `useResolvedImageSources` path above, which is kept until its callers move.\nexport { useImageSlot } from './hooks/useImageSlot';\nexport type { UseImageSlotOptions, ResolvedImage } from './hooks/useImageSlot';\nexport {\n ImageSlotProvider,\n useImageSlotCollector,\n} from './context/ImageSlotContext';\nexport type {\n ImageSlotCollector,\n ImageSlotProviderProps,\n} from './context/ImageSlotContext';\n\n// Section runtime: the host mounts these around the page and around each\n// section, so a component can read the id of the section it renders inside\n// and the `componentOptions` its registry entry carried. Client bundles used\n// to ship their own copies as uiSlots; those are superseded by this.\nexport {\n SectionsRuntimeProvider,\n SectionRuntimeProvider,\n useCurrentSectionOptions,\n useCurrentSectionId,\n} from './context/SectionRuntimeContext';\nexport type {\n RuntimeSection,\n SectionsRuntimeProviderProps,\n SectionRuntimeProviderProps,\n} from './context/SectionRuntimeContext';\nexport { composeSemantic } from './image/composeSemantic';\nexport type { ComposeSemanticInput } from './image/composeSemantic';\nexport type {\n ImageSlotKind,\n ImageMatchQuality,\n ImageKind,\n ImageBackground,\n ImageSlotRequest,\n ImagePalette,\n ImageStatGrid,\n ImageVisualMetadata,\n ResolvedImageSlot,\n ResolveImageSetResponse,\n ResolveImageSetPort,\n SlotState,\n ImageSubject,\n} from './image/imageSlotTypes';\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 type EntityFilteredReason,\n} from './utils/analyticsEvents';\n\n// Consent gate (DL #218)\nexport {\n type ConsentState,\n type ConsentPurpose,\n type GatedPurpose,\n type ConsentSnapshot,\n type ConsentProvider,\n type HostConsentInput,\n UNKNOWN_CONSENT,\n HOST_CONSENT_GLOBAL,\n unlockOnUserAction,\n mayPersistToken,\n getConsentSnapshot,\n subscribeToConsent,\n installConsentProvider,\n resetConsentGateForTests,\n detectConsentProvider,\n initConsentGate,\n CONSENT_OVERRIDE_KEY,\n CONSENT_OVERRIDE_QUERY_PARAM,\n getConsentOverride,\n setConsentOverride,\n createShopifyConsentProvider,\n isShopifyHost,\n createOneTrustConsentProvider,\n isOneTrustHost,\n createHostSuppliedConsentProvider,\n hasHostSuppliedConsent,\n publishHostConsent,\n} from './privacy';\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 AiDisclosure,\n DEFAULT_AI_DISCLOSURE_TEXT,\n type AiDisclosureProps,\n} from './components/ui/AiDisclosure';\nexport {\n ASSISTANT_TOKEN,\n UNBRANDED_ASSISTANT_NAME,\n DEFAULT_PROMPT_PLACEHOLDER,\n assistantName,\n resolveAssistantPlaceholder,\n} from './lib/assistant';\nexport { AiIcon } from './components/ui/icons/AiIcon';\nexport {\n PoweredByBadge,\n DEFAULT_POWERED_BY_HREF,\n type PoweredByBadgeProps,\n} from './components/ui/PoweredByBadge';\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';\nexport {\n WEB5_ANSWER_SETTLED_EVENT,\n type Web5AnswerSettledStatus,\n type Web5AnswerSettledEventDetail,\n type Web5AnswerSettledEvent,\n} from './types/answerSettledEvent';\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 themeOverrideDeclarations,\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 THEME_OVERRIDE_KEY_PATTERN,\n bucketOf,\n hostAliasFor,\n type TokenBucket,\n type TokenContractEntry,\n type TokenType,\n} from './theme/tokenContract';\nexport {\n SCHEME_COLOR_TOKENS,\n MAX_THEME_SCHEMES,\n SCHEME_ANCHOR_TOKENS,\n SCHEME_TOKENS,\n completeScheme,\n isThemeScheme,\n isSchemeTokenEntry,\n nextOwnerSchemeId,\n resolveActiveScheme,\n schemeDisplayName,\n schemeTokensOf,\n type ThemeScheme,\n type SchemeAnchorToken,\n type SchemeToken,\n type SchemeOrigin,\n} from './theme/themeScheme';\nexport {\n WEB5_CHROME_TOKENS,\n web5ChromeProperties,\n web5ChromeProperty,\n type Web5ChromeToken,\n} from './theme/chromeTokens';\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":"AAAA;AACA,SAASA,UAAU,EAAEC,cAAc,QAAQ,WAAW;AAEtD,SAGEC,yBAAyB,EACzBC,qBAAqB,EACrBC,iBAAiB,EACjBC,gBAAgB,QACX,uCAAuC;;AAE9C;;AAGA;AACA,SAaEC,cAAc,EACdC,aAAa,EACbC,YAAY,EACZC,UAAU,EACVC,SAAS,EACTC,QAAQ,EACRC,cAAc,EACdC,sBAAsB,EACtBC,UAAU,QACL,eAAe;;AAEtB;;AAgFA;;AAOA,SAASC,YAAY,QAAQ,gCAAgC;;AAE7D;AACA,SAASC,gBAAgB,QAAQ,6BAA6B;AAG9D;AACA,SACEC,sBAAsB,QAEjB,gCAAgC;AACvC,SACEC,sBAAsB,EACtBC,gBAAgB,QACX,4BAA4B;AAQnC;AACA,SACEC,qBAAqB,EACrBC,2BAA2B,EAC3BC,oBAAoB,EACpBC,wBAAwB,EACxBC,6BAA6B,EAC7BC,uBAAuB,EACvBC,iCAAiC,EACjCC,2BAA2B,EAC3BC,0BAA0B,EAC1BC,0BAA0B,EAC1BC,wBAAwB,EACxBC,0BAA0B,EAC1BC,6BAA6B,EAC7BC,0BAA0B,EAC1BC,0BAA0B,EAC1BC,4BAA4B,EAC5BC,uBAAuB,EACvBC,sBAAsB,EACtBC,yBAAyB,EACzBC,iBAAiB,QACZ,kCAAkC;;AAEzC;AACA,SAASC,iBAAiB,QAAQ,YAAY;AAgB9C;AACA,SACEC,eAAe,EACfC,qBAAqB,EACrBC,yBAAyB,QAMpB,oBAAoB;;AAE3B;AACA,SACEC,sBAAsB,EACtBC,iCAAiC,QAE5B,kBAAkB;;AAEzB;AACA,SACEC,WAAW,EAgBXC,YAAY,EACZC,eAAe,EACfC,cAAc,EACdC,aAAa,EACbC,eAAe,EACfC,eAAe,EACfC,SAAS,EACTC,cAAc,EACdC,cAAc,EACdC,WAAW,QACN,oBAAoB;;AAE3B;AACA,SACEC,YAAY,EACZC,cAAc,EACdC,eAAe,EAQfC,YAAY,EACZC,eAAe,EACfC,eAAe,EACfC,mBAAmB,QACd,0BAA0B;;AAEjC;AACA,SACEC,oBAAoB,QAEf,2BAA2B;;AAElC;AACA,SAASC,QAAQ,EAAEC,aAAa,QAAQ,sBAAsB;;AAE9D;AACA,SACEC,aAAa,EAEbC,gBAAgB,EAEhBC,YAAY,QACP,SAAS;;AAEhB;AACA;AACA;;AAEA;AACA,SACEC,6BAA6B,EAC7BC,wBAAwB,QAEnB,wCAAwC;;AAE/C;AACA,SACEC,iBAAiB,EACjBC,YAAY,QAEP,4BAA4B;;AAEnC;AACA,SACEC,aAAa,EACbC,QAAQ,QAEH,wBAAwB;;AAE/B;;AAqBA,SACEC,gBAAgB,EAChBC,yBAAyB,EACzBC,UAAU,EACVC,mBAAmB,EACnBC,aAAa,EACbC,sBAAsB,EACtBC,eAAe,EACfC,mBAAmB,EACnBC,eAAe,EACfC,mBAAmB,EACnBC,kBAAkB,EAClBC,uBAAuB,EACvBC,6BAA6B,EAC7BC,6BAA6B,EAC7BC,4BAA4B,EAC5BC,gBAAgB,EAChBC,WAAW,EACXC,gBAAgB,EAChBC,gBAAgB,EAChBC,uBAAuB,EACvBC,yBAAyB,EACzBC,0BAA0B,EAC1BC,qBAAqB,EACrBC,uBAAuB,QAClB,UAAU;AAQjB,SACEC,aAAa,EACbC,iBAAiB,QAIZ,iBAAiB;;AAExB;AACA,SAASC,WAAW,QAAQ,qBAAqB;AACjD,SAASC,eAAe,QAAQ,yBAAyB;AACzD,SAASC,oBAAoB,QAAQ,8BAA8B;AACnE,SAASC,uBAAuB,QAAQ,iCAAiC;;AAEzE;AACA;AACA;AACA,SAASC,YAAY,QAAQ,sBAAsB;AAEnD,SACEC,iBAAiB,EACjBC,qBAAqB,QAChB,4BAA4B;AAMnC;AACA;AACA;AACA;AACA,SACEC,uBAAuB,EACvBC,sBAAsB,EACtBC,wBAAwB,EACxBC,mBAAmB,QACd,iCAAiC;AAMxC,SAASC,eAAe,QAAQ,yBAAyB;AAiBzD,SAASC,2BAA2B,QAAQ,qCAAqC;AACjF,SAASC,mBAAmB,QAAQ,6BAA6B;AACjE,SAASC,gBAAgB,QAAQ,0BAA0B;AAC3D,SAASC,2BAA2B,QAAQ,qCAAqC;AACjF,SAASC,gCAAgC,QAAQ,0CAA0C;;AAE3F;AACA,SACEC,sBAAsB,EACtBC,yBAAyB,EACzBC,kCAAkC,QAC7B,yBAAyB;AAQhC;AACA;AACA,SAASC,SAAS,QAAQ,iBAAiB;AAE3C,SACEC,uBAAuB,EACvBC,oBAAoB,EACpBC,oBAAoB,EACpBC,uBAAuB,EACvBC,0BAA0B,EAC1BC,uBAAuB,EACvBC,gCAAgC,EAChCC,uBAAuB,EACvBC,0BAA0B,EAC1BC,uBAAuB,QAClB,oBAAoB;AAU3B;AACA,SAASC,EAAE,QAAQ,aAAa;AAChC,SAASC,iBAAiB,EAAEC,kBAAkB,QAAQ,qBAAqB;AAC3E,SACEC,eAAe,EACfC,kBAAkB,EAClBC,aAAa,EACbC,eAAe,EACfC,oBAAoB,QAIf,uBAAuB;AAC9B,SAASC,aAAa,QAAQ,8CAA8C;;AAE5E;AACA,SAEEC,QAAQ,EACRC,QAAQ,EACRC,kBAAkB,EAClBC,KAAK,EACLC,eAAe,EACfC,kBAAkB,EAClBC,gBAAgB,QACX,oBAAoB;;AAE3B;AACA,SACEC,SAAS,EACTC,gBAAgB,EAChBC,aAAa,EACbC,SAAS,EACTC,QAAQ,EACRC,kBAAkB,QAEb,yBAAyB;;AAEhC;AACA,SAOEC,eAAe,EACfC,mBAAmB,EACnBC,kBAAkB,EAClBC,eAAe,EACfC,kBAAkB,EAClBC,kBAAkB,EAClBC,sBAAsB,EACtBC,wBAAwB,EACxBC,qBAAqB,EACrBC,eAAe,EACfC,oBAAoB,EACpBC,4BAA4B,EAC5BC,kBAAkB,EAClBC,kBAAkB,EAClBC,4BAA4B,EAC5BC,aAAa,EACbC,6BAA6B,EAC7BC,cAAc,EACdC,iCAAiC,EACjCC,sBAAsB,EACtBC,kBAAkB,QACb,WAAW;;AAElB;AACA,SAEEC,cAAc,EACdC,sBAAsB,EACtBC,mBAAmB,EACnBC,oBAAoB,EAMpBC,uBAAuB,EACvBC,oBAAoB,QACf,UAAU;;AAEjB;AACA,SACEC,eAAe,EACfC,eAAe,EACfC,iBAAiB,EACjBC,kBAAkB,EAClBC,mBAAmB,QACd,yBAAyB;;AAEhC;AACA,SACEC,SAAS,QAGJ,2BAA2B;AAClC,SACEC,wBAAwB,EACxBC,uBAAuB,EACvBC,sBAAsB,QAEjB,4BAA4B;AACnC,SACEC,qBAAqB,QAEhB,uCAAuC;AAC9C,SACEC,aAAa,QAIR,+BAA+B;AACtC,SACEC,WAAW,QAKN,6BAA6B;AACpC,SACEC,YAAY,EACZC,0BAA0B,QAErB,8BAA8B;AACrC,SACEC,eAAe,EACfC,wBAAwB,EACxBC,0BAA0B,EAC1BC,aAAa,EACbC,2BAA2B,QACtB,iBAAiB;AACxB,SAASC,MAAM,QAAQ,8BAA8B;AACrD,SACEC,cAAc,EACdC,uBAAuB,QAElB,gCAAgC;AACvC,SACEC,eAAe,QAEV,iCAAiC;AACxC,SAASC,YAAY,QAAQ,8BAA8B;AAC3D,SACEC,YAAY,QAEP,8BAA8B;AACrC,SACEC,cAAc,QAET,gCAAgC;AACvC,SACEC,eAAe,QAEV,iCAAiC;AACxC,SAASC,SAAS,QAA6B,2BAA2B;AAC1E,SAASC,MAAM,QAA0B,wBAAwB;AACjE,SACEC,eAAe,QAEV,iCAAiC;AACxC,SACEC,WAAW,EACXC,cAAc,EAEdC,QAAQ,QAEH,6BAA6B;AACpC,SACEC,KAAK,EACLC,WAAW,EACXC,SAAS,EACTC,WAAW,EACXC,SAAS,EACTC,QAAQ,EACRC,SAAS,EACTC,YAAY,QACP,uBAAuB;;AAE9B;;AAOA;AACA,SACEC,qBAAqB,QAGhB,wBAAwB;;AAE/B;AACA,SACEC,yBAAyB,QAGpB,4BAA4B;AACnC,SACEC,yBAAyB,QAIpB,4BAA4B;;AAEnC;AACA,SACEC,mBAAmB,QAId,uBAAuB;AAC9B;AACA;AACA;;AAEA;AACA,SAASC,gBAAgB,QAAQ,2BAA2B;;AAE5D;AACA;AACA,SACEC,uBAAuB,EACvBC,mBAAmB,QACd,+BAA+B;;AAEtC;AACA;AACA;AACA,SACEC,kBAAkB,EAClBC,sBAAsB,EACtBC,mBAAmB,EACnBC,yBAAyB,EACzBC,iBAAiB,EACjBC,sBAAsB,QACjB,0BAA0B;AACjC,SACEC,iBAAiB,QAEZ,4BAA4B;AACnC,SACEC,mBAAmB,EACnBC,yBAAyB,EACzBC,qBAAqB,QAGhB,8BAA8B;AACrC,SACEC,oBAAoB,EACpBC,YAAY,EACZC,eAAe,EACfC,kBAAkB,EAClBC,0BAA0B,EAC1BC,QAAQ,EACRC,YAAY,QAIP,uBAAuB;AAC9B,SACEC,mBAAmB,EACnBC,iBAAiB,EACjBC,oBAAoB,EACpBC,aAAa,EACbC,cAAc,EACdC,aAAa,EACbC,kBAAkB,EAClBC,iBAAiB,EACjBC,mBAAmB,EACnBC,iBAAiB,EACjBC,cAAc,QAKT,qBAAqB;AAC5B,SACEC,kBAAkB,EAClBC,oBAAoB,EACpBC,kBAAkB,QAEb,sBAAsB;AAC7B,SACEC,mBAAmB,EACnBC,eAAe,EACfC,uBAAuB,QAGlB,qBAAqB;AAC5B,SACEC,eAAe,EACfC,eAAe,EACfC,YAAY,QACP,qBAAqB;;AAE5B;AACA,SACEC,yBAAyB,EACzBC,qBAAqB,QAIhB,kDAAkD;AACzD,SACEC,0BAA0B,QAErB,mDAAmD;AAC1D,SACEC,wBAAwB,EACxBC,mBAAmB,QAEd,gDAAgD;;AAEvD;AACA,SACEC,qBAAqB,EACrBC,kBAAkB,EAClBC,kBAAkB,QACb,+BAA+B;AACtC,SACEC,eAAe,EACfC,iBAAiB,EACjBC,sBAAsB,EACtBC,iBAAiB,EACjBC,cAAc,EACdC,kBAAkB,QAGb,8BAA8B;AACrC,SACEC,iBAAiB,QAEZ,2BAA2B;AAClC,SACEC,qBAAqB,EACrBC,0BAA0B,QACrB,+BAA+B;AACtC,SACEC,yBAAyB,EACzBC,qBAAqB,QAIhB,yBAAyB;AAEhC,SACEC,iBAAiB,EACjBC,iBAAiB,EACjBC,UAAU,EACVC,eAAe,EACfC,mBAAmB,QAId,wBAAwB;AAC/B,SACEC,oBAAoB,QAEf,8BAA8B;AACrC,SACEC,yBAAyB,EACzBC,yBAAyB,EACzBC,uBAAuB,EACvBC,oBAAoB,EACpBC,oBAAoB,EACpBC,qBAAqB,QAChB,wBAAwB;AAC/B,SAEEC,uBAAuB,EACvBC,+BAA+B,EAC/BC,2BAA2B,EAC3BC,qBAAqB,EACrBC,qBAAqB,EACrBC,kBAAkB,QACb,4BAA4B;AACnC,SAASC,mBAAmB,QAAQ,oBAAoB;AACxD,SACEC,eAAe,EACfC,uBAAuB,EACvBC,mBAAmB,EACnBC,aAAa,EACbC,oBAAoB,EACpBC,aAAa,QACR,oBAAoB;AAC3B,SAASC,kBAAkB,QAAQ,uBAAuB;AAC1D,SACEC,oBAAoB,EACpBC,YAAY,EACZC,SAAS,EACTC,cAAc,EACdC,SAAS,EACTC,mBAAmB,QACd,wBAAwB;;AAE/B;AACA,SACEC,yBAAyB,EACzBC,iBAAiB,EACjBC,iCAAiC,QAK5B,6BAA6B;AAMpC;AACA;AACA;AACA,SACEC,YAAY,EACZC,eAAe,EACfC,WAAW,EACXC,UAAU,EACVC,kBAAkB,QAEb,aAAa","ignoreList":[]}
|
|
@@ -59,14 +59,13 @@
|
|
|
59
59
|
* | `--popover-foreground` | derived: = foreground |
|
|
60
60
|
* | `--muted` | derived: foreground 4% over background |
|
|
61
61
|
* | `--muted-foreground` | derived: foreground 60% over background |
|
|
62
|
-
* | `--secondary` | derived: primary 10% over background |
|
|
63
|
-
* | `--accent` | derived: primary 10% over background |
|
|
64
62
|
* | `--border` | inherited from base (no fallback — see below) |
|
|
65
63
|
* | `--input` | inherited from base (no fallback — see below) |
|
|
66
64
|
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
* (
|
|
65
|
+
* `--secondary`/`--accent` are NOT scheme tokens: the adapter mixes them from
|
|
66
|
+
* the button colour, so they belong to the store's global set
|
|
67
|
+
* (`themeOverrides`) with the buttons, and a scheme edit leaves them alone.
|
|
68
|
+
* `--border`/`--input` are read straight off the
|
|
70
69
|
* theme by the adapter, which reconstructs a missing border from the theme's
|
|
71
70
|
* `*_border_opacity` setting a token map does not carry — so they are
|
|
72
71
|
* inherited from base, and omitted when base lacks them, as the adapter omits
|
|
@@ -85,8 +84,8 @@
|
|
|
85
84
|
*
|
|
86
85
|
* When it is recomputed, triplets convert back to RGB WITHOUT rounding to
|
|
87
86
|
* 8-bit first — that would be a second quantisation the adapter never
|
|
88
|
-
* performs, and enough to move
|
|
89
|
-
* to `230 42% 94
|
|
87
|
+
* performs, and enough to move a mixed colour's saturation by several points
|
|
88
|
+
* (smallflower's button tint went from `230 38% 94%` to `230 42% 94%`). The mix result is rounded exactly where the adapter
|
|
90
89
|
* rounds it.
|
|
91
90
|
*/
|
|
92
91
|
import { isHslTriplet } from './colorFormat.js';
|
|
@@ -134,7 +133,7 @@ const MAX_SCHEME_VALUE_LENGTH = 256;
|
|
|
134
133
|
* derived from those two. The panel writes exactly these into the OWNER rows
|
|
135
134
|
* it creates, and mirrors exactly these of the active row into `themeOverrides`.
|
|
136
135
|
*/
|
|
137
|
-
export const SCHEME_TOKENS = ['--background', '--foreground', '--popover', '--popover-foreground', '--muted', '--muted-foreground', '--border', '--input'
|
|
136
|
+
export const SCHEME_TOKENS = ['--background', '--foreground', '--popover', '--popover-foreground', '--muted', '--muted-foreground', '--border', '--input'];
|
|
138
137
|
const SCHEME_TOKEN_SET = new Set(SCHEME_TOKENS);
|
|
139
138
|
|
|
140
139
|
/** Only the `SCHEME_TOKENS` entries of `map`. */
|
|
@@ -271,8 +270,6 @@ function toTriplet(_ref4) {
|
|
|
271
270
|
return `${Math.round(h)} ${Math.round(s * 100)}% ${Math.round(l * 100)}%`;
|
|
272
271
|
}
|
|
273
272
|
|
|
274
|
-
/** What `completeScheme` needs from outside the scheme. */
|
|
275
|
-
|
|
276
273
|
/**
|
|
277
274
|
* The `SCHEME_TOKENS` of a scheme whose anchors the owner just edited.
|
|
278
275
|
*
|
|
@@ -283,13 +280,10 @@ function toTriplet(_ref4) {
|
|
|
283
280
|
* unavailable keeps `base`'s value, if any.
|
|
284
281
|
*
|
|
285
282
|
* Returns ONLY `SCHEME_TOKENS`: whatever else `base` carries (a pre-0243 row's
|
|
286
|
-
* card or
|
|
283
|
+
* card, button or secondary/accent colours, its radius) is the store's global set now, not the
|
|
287
284
|
* scheme's, and is dropped. Every output entry passes `isSchemeTokenEntry`.
|
|
288
285
|
*/
|
|
289
|
-
export function completeScheme(base, anchors
|
|
290
|
-
if (context === void 0) {
|
|
291
|
-
context = {};
|
|
292
|
-
}
|
|
286
|
+
export function completeScheme(base, anchors) {
|
|
293
287
|
// Both checks: `isHslTriplet` is what the arithmetic can convert, and the
|
|
294
288
|
// scheme grammar is what a write accepts — failing either would poison a
|
|
295
289
|
// derivation or get the whole save refused.
|
|
@@ -323,18 +317,6 @@ export function completeScheme(base, anchors, context) {
|
|
|
323
317
|
put('--muted-foreground', derive('--muted-foreground', bgChanged || fgChanged, mixOver(fg, 0.6)));
|
|
324
318
|
put('--border', fromBase('--border'));
|
|
325
319
|
put('--input', fromBase('--input'));
|
|
326
|
-
|
|
327
|
-
// Primary is the store's, not the scheme's. It counts as a changed input only
|
|
328
|
-
// when base states the primary its tints were computed from and the context
|
|
329
|
-
// names a different one; a base without one keeps its tints until the page
|
|
330
|
-
// itself moves.
|
|
331
|
-
const basePrimary = fromBase('--primary');
|
|
332
|
-
const primaryTriplet = valid(context.primary) ?? basePrimary;
|
|
333
|
-
const primaryChanged = basePrimary !== undefined && primaryTriplet !== undefined && primaryTriplet !== basePrimary;
|
|
334
|
-
const primary = primaryTriplet === undefined ? null : tripletToRgb(primaryTriplet);
|
|
335
|
-
const tintChanged = bgChanged || primaryChanged;
|
|
336
|
-
put('--secondary', derive('--secondary', tintChanged, mixOver(primary, 0.1)));
|
|
337
|
-
put('--accent', derive('--accent', tintChanged, mixOver(primary, 0.1)));
|
|
338
320
|
return out;
|
|
339
321
|
}
|
|
340
322
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isHslTriplet","THEME_OVERRIDE_KEY_PATTERN","THEME_TOKEN_CONTRACT","SCHEME_COLOR_TOKENS","Object","freeze","Set","entries","filter","_ref","entry","type","map","_ref2","token","SCHEME_COLOR_VALUE","SCHEME_RADIUS_VALUE","SCHEME_LOOSE_VALUE","MAX_SCHEME_VALUE_LENGTH","SCHEME_TOKENS","SCHEME_TOKEN_SET","schemeTokensOf","fromEntries","_ref3","has","SCHEME_ANCHOR_TOKENS","MAX_THEME_SCHEMES","SCHEME_ID_PATTERN","MAX_SCHEME_NAME_LENGTH","isPlainObject","value","Array","isArray","isThemeScheme","id","name","origin","baseSchemeId","tokens","test","undefined","length","values","every","v","resolveActiveScheme","cfg","themeSchemes","schemes","activeId","activeThemeSchemeId","active","find","scheme","TRIPLET","tripletToRgb","triplet","parts","exec","trim","h","Number","s","l","c","Math","abs","x","m","r","g","b","mix","fg","ratio","bg","round","toTriplet","_ref4","rn","gn","bn","max","min","delta","completeScheme","base","anchors","context","valid","isSchemeColorValue","fromBase","fromAnchor","out","put","background","foreground","bgChanged","fgChanged","derive","inputsChanged","compute","kept","mixOver","over","basePrimary","primaryTriplet","primary","primaryChanged","tintChanged","schemeDisplayName","index","nextOwnerSchemeId","taken","n","isSchemeTokenEntry","key","_THEME_TOKEN_CONTRACT"],"sources":["../../../src/theme/themeScheme.ts"],"sourcesContent":["/**\n * Named theme schemes on a site configuration, and the one that is active.\n *\n * A store's theme states a SET of palettes rather than one — Dawn and Horizon\n * ship `scheme-1`..`scheme-5` for the page, the cards, the hero band, the\n * footer. The configuration therefore carries a list of schemes plus the id of\n * the active one, beside the flat `themeOverrides` map it has always had:\n *\n * themeSchemes?: [{ id, name?, origin?, tokens: { '--background': '0 0% 100%', … } }]\n * activeThemeSchemeId?: 'scheme-1'\n *\n * A scheme's `tokens` are finished CSS tokens, spelled exactly as\n * `themeOverrides` spells them — and, like `themeOverrides`, the key set is\n * OPEN. Today's writers put the 18 colour roles (`SCHEME_COLOR_TOKENS`) there,\n * sometimes `--radius`; that a palette may carry shape as well as colour is why\n * this is a THEME scheme and not a colour scheme. A new token (a font stack,\n * something the contract has not catalogued yet) needs no release anywhere but\n * its writer. The server checks only the loose shape `themeOverrides` gets (key\n * `THEME_OVERRIDE_KEY_PATTERN`, a value free of `;`, `{`, `}` and control\n * characters, ≤ 256, at most 24 entries); the typed per-token grammar is the\n * CLIENT's contract, enforced by `isSchemeTokenEntry` before the panel writes.\n * Nothing is expanded at apply time: the reader resolves the active entry and\n * hands its map to `applyThemeOverrides`, which layers it between the store map\n * and the owner's overrides, filtered and bucketed exactly like the store map.\n * A configuration with no schemes renders exactly as it did before they existed.\n *\n * A leaf module beside `tokenContract.ts`, and for the same reason that file\n * documents: requiring core's ENTRY from plain Node fails on its CSS import,\n * but a deep import of a zero-CSS leaf works. It imports only its siblings\n * `./tokenContract` and `./colorFormat`, both leaves themselves.\n *\n * ## What a scheme carries (ADR 0243)\n *\n * A theme scheme is a background and its text, plus the colours mechanically\n * derived from those two: `SCHEME_TOKENS`. Card colours, button colours,\n * radius and fonts are the store's global set (`themeOverrides`) and the\n * owner's global edits (`userThemeOverrides`), applied under and over the\n * scheme respectively — so they survive every scheme switch. Rows written\n * before 0243 may still carry more; readers apply whatever a row holds, and\n * the owner panel writes only `SCHEME_TOKENS` into the rows it creates.\n *\n * An edited THEME scheme is an OWNER row that names it in `baseSchemeId`, so\n * the panel can show the edit on that scheme's tile and revert only that one.\n *\n * ## `completeScheme` — what the owner panel recomputes\n *\n * The owner edits the two anchors. The rest of the scheme has to move with\n * them the way `web50-shopify-adapter/src/theme-tokens.ts` would have moved it\n * had the theme stated those anchors, so the arithmetic below is a COPY of the\n * adapter's (`composite`/`mix`/`toTriplet` and the token assignments at the end\n * of `extractThemeOverrides`), integer rounding included. It is copied rather\n * than shared on purpose: the adapter must not import core.\n *\n * | token | role |\n * | ------------------------ | ------------------------------------------------------ |\n * | `--background` | anchor (else inherited from base) |\n * | `--foreground` | anchor (else inherited from base) |\n * | `--popover` | derived: = background |\n * | `--popover-foreground` | derived: = foreground |\n * | `--muted` | derived: foreground 4% over background |\n * | `--muted-foreground` | derived: foreground 60% over background |\n * | `--secondary` | derived: primary 10% over background |\n * | `--accent` | derived: primary 10% over background |\n * | `--border` | inherited from base (no fallback — see below) |\n * | `--input` | inherited from base (no fallback — see below) |\n *\n * Primary is not a scheme token — it is the store's button colour — so the\n * caller passes it as `context.primary`; without one, base's own `--primary`\n * (a pre-0243 row) is used. `--border`/`--input` are read straight off the\n * theme by the adapter, which reconstructs a missing border from the theme's\n * `*_border_opacity` setting a token map does not carry — so they are\n * inherited from base, and omitted when base lacks them, as the adapter omits\n * them.\n *\n * ## Rounding: why an unchanged input keeps base's value\n *\n * The adapter mixes 8-bit channels parsed from the theme's hex; a scheme only\n * has the integer-rounded triplet, and the hex cannot be recovered from it.\n * Re-deriving from triplets therefore lands a point off now and then — Horizon\n * `color_palette`'s `--muted-foreground` comes back `359 83% 68%` against the\n * adapter's `359 84% 68%`. So a derived token is recomputed only when one of\n * its INPUTS differs from base; otherwise base's value stands. A merchant who\n * edits nothing gets the adapter's map back exactly, and one who edits the\n * background gets the family recomputed.\n *\n * When it is recomputed, triplets convert back to RGB WITHOUT rounding to\n * 8-bit first — that would be a second quantisation the adapter never\n * performs, and enough to move smallflower's `--secondary` from `230 38% 94%`\n * to `230 42% 94%`. The mix result is rounded exactly where the adapter\n * rounds it.\n */\nimport { isHslTriplet } from './colorFormat';\nimport {\n THEME_OVERRIDE_KEY_PATTERN,\n THEME_TOKEN_CONTRACT,\n} from './tokenContract';\n\n/** Where a scheme came from. Any other value on the wire reads as unknown. */\nexport type SchemeOrigin = 'UNKNOWN_SCHEME_ORIGIN' | 'THEME' | 'OWNER';\n\n/** One named palette as the configuration carries it. */\nexport interface ThemeScheme {\n /** `^[a-z0-9][a-z0-9-]{0,31}$`, unique within the list. */\n id: string;\n /** Shown in the owner panel; at most 48 characters. */\n name?: string;\n origin?: SchemeOrigin | string;\n /**\n * On an OWNER row: the id of the THEME scheme it is an edit of. Not the\n * row's own id, unique across rows (at most one edit per scheme), and it may\n * dangle — a theme publish can remove the base, and the edit survives it.\n */\n baseSchemeId?: string;\n /**\n * Token → value, keys as open as `themeOverrides`': colours as bare HSL\n * triplets (`0 0% 100%`), `--radius` as a length (`0.5rem`), anything else\n * in the loose value shape. See `isSchemeTokenEntry`.\n */\n tokens: Record<string, string>;\n}\n\n/** Every colour role in the contract (`type: 'color-hsl'`, `--heading` included). */\nexport const SCHEME_COLOR_TOKENS: ReadonlySet<string> = Object.freeze(\n new Set(\n Object.entries(THEME_TOKEN_CONTRACT)\n .filter(([, entry]) => entry.type === 'color-hsl')\n .map(([token]) => token),\n ),\n) as ReadonlySet<string>;\n\n/**\n * A scheme colour (`type: 'color-hsl'`): `H S% L%`, single-spaced, no `hsl()`\n * wrapper. Saturation and lightness are additionally capped at 100\n * (`isSchemeColorValue`); hue is bounded only by its three digits.\n */\nconst SCHEME_COLOR_VALUE =\n /^(\\d{1,3}(?:\\.\\d+)?) (\\d{1,3}(?:\\.\\d+)?)% (\\d{1,3}(?:\\.\\d+)?)%$/;\n\n/**\n * A scheme length (`type: 'length'`, i.e. `--radius`): px/rem/em, unit REQUIRED\n * (`0px`, not `0`). A bare `0` would turn `calc(var(--radius) - 4px)` into\n * invalid CSS — see the `length` note in `tokenContract.ts`.\n */\nconst SCHEME_RADIUS_VALUE = /^\\d{1,4}(?:\\.\\d+)?(?:px|rem|em)$/;\n\n/**\n * Any other scheme value — a font stack, a key the contract has not catalogued:\n * no `;`, `{`, `}` or control character. The server's `themeOverrides` value\n * shape (`^[^;{}\\p{Cntrl}]{1,256}$`); the length is checked separately in\n * UTF-16 units, as the server counts, since a `u`-flag quantifier counts code\n * points.\n */\nconst SCHEME_LOOSE_VALUE = /^[^;{}\\p{Cc}]+$/u;\nconst MAX_SCHEME_VALUE_LENGTH = 256;\n\n/**\n * What a scheme is (ADR 0243): its background and text, and the colours\n * derived from those two. The panel writes exactly these into the OWNER rows\n * it creates, and mirrors exactly these of the active row into `themeOverrides`.\n */\nexport const SCHEME_TOKENS = [\n '--background',\n '--foreground',\n '--popover',\n '--popover-foreground',\n '--muted',\n '--muted-foreground',\n '--border',\n '--input',\n '--secondary',\n '--accent',\n] as const;\n\nexport type SchemeToken = (typeof SCHEME_TOKENS)[number];\n\nconst SCHEME_TOKEN_SET: ReadonlySet<string> = new Set(SCHEME_TOKENS);\n\n/** Only the `SCHEME_TOKENS` entries of `map`. */\nexport function schemeTokensOf(\n map: Record<string, string> | null | undefined,\n): Record<string, string> {\n return Object.fromEntries(\n Object.entries(map ?? {}).filter(([token]) => SCHEME_TOKEN_SET.has(token)),\n );\n}\n\n/** The two the owner edits on a scheme, in panel order. */\nexport const SCHEME_ANCHOR_TOKENS = ['--background', '--foreground'] as const;\n\nexport type SchemeAnchorToken = (typeof SCHEME_ANCHOR_TOKENS)[number];\n\n/** Upper bound on schemes per configuration. */\nexport const MAX_THEME_SCHEMES = 16;\n\nconst SCHEME_ID_PATTERN = /^[a-z0-9][a-z0-9-]{0,31}$/;\nconst MAX_SCHEME_NAME_LENGTH = 48;\n\nconst isPlainObject = (value: unknown): value is Record<string, unknown> =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\n/**\n * Whether an untrusted value has a scheme's SHAPE.\n *\n * Token content is deliberately not judged here: `applyThemeOverrides` drops a\n * malformed key one entry at a time, exactly as it does for the flat store map\n * (and says so), so one bad token costs that token rather than the whole\n * palette. The typed value grammar is `isSchemeTokenEntry`, checked by writers.\n */\nexport function isThemeScheme(value: unknown): value is ThemeScheme {\n if (!isPlainObject(value)) {\n return false;\n }\n const { id, name, origin, baseSchemeId, tokens } = value;\n if (typeof id !== 'string' || !SCHEME_ID_PATTERN.test(id)) {\n return false;\n }\n if (baseSchemeId !== undefined && typeof baseSchemeId !== 'string') {\n return false;\n }\n if (\n name !== undefined &&\n (typeof name !== 'string' || name.length > MAX_SCHEME_NAME_LENGTH)\n ) {\n return false;\n }\n if (origin !== undefined && typeof origin !== 'string') {\n return false;\n }\n return (\n isPlainObject(tokens) &&\n Object.values(tokens).every((v) => typeof v === 'string')\n );\n}\n\n/**\n * The active scheme: the entry whose id is `activeThemeSchemeId`, else the\n * first entry, else null. Entries failing `isThemeScheme` are skipped first, so\n * a dangling id or a malformed entry falls through to the first usable one.\n */\nexport function resolveActiveScheme(\n cfg:\n | { themeSchemes?: unknown; activeThemeSchemeId?: string | null }\n | null\n | undefined,\n): ThemeScheme | null {\n if (!cfg || !Array.isArray(cfg.themeSchemes)) {\n return null;\n }\n const schemes = cfg.themeSchemes.filter(isThemeScheme);\n if (schemes.length === 0) {\n return null;\n }\n const activeId = cfg.activeThemeSchemeId;\n const active =\n typeof activeId === 'string'\n ? schemes.find((scheme) => scheme.id === activeId)\n : undefined;\n return active ?? schemes[0];\n}\n\n// ── Arithmetic copied from web50-shopify-adapter/src/theme-tokens.ts ────────\n\ninterface Rgb {\n r: number;\n g: number;\n b: number;\n}\n\nconst TRIPLET =\n /^(\\d{1,3}(?:\\.\\d+)?)\\s+(\\d{1,3}(?:\\.\\d+)?)%\\s+(\\d{1,3}(?:\\.\\d+)?)%$/;\n\n/**\n * A triplet as RGB in 0–255, NOT rounded to 8-bit — see the module header for\n * why. Same conversion as `colorFormat.hslTripletToHex`, minus its rounding.\n */\nfunction tripletToRgb(triplet: string): Rgb | null {\n const parts = TRIPLET.exec(triplet.trim());\n if (!parts || !isHslTriplet(triplet)) {\n return null;\n }\n const h = Number(parts[1]);\n const s = Number(parts[2]) / 100;\n const l = Number(parts[3]) / 100;\n\n const c = (1 - Math.abs(2 * l - 1)) * s;\n const x = c * (1 - Math.abs(((h / 60) % 2) - 1));\n const m = l - c / 2;\n const [r, g, b] =\n h < 60\n ? [c, x, 0]\n : h < 120\n ? [x, c, 0]\n : h < 180\n ? [0, c, x]\n : h < 240\n ? [0, x, c]\n : h < 300\n ? [x, 0, c]\n : [c, 0, x];\n return { r: (r + m) * 255, g: (g + m) * 255, b: (b + m) * 255 };\n}\n\n/** Adapter `composite` for an opaque-over-opaque mix, via its `mix`: channels rounded to 8-bit. */\nfunction mix(fg: Rgb, ratio: number, bg: Rgb): Rgb {\n return {\n r: Math.round(fg.r * ratio + bg.r * (1 - ratio)),\n g: Math.round(fg.g * ratio + bg.g * (1 - ratio)),\n b: Math.round(fg.b * ratio + bg.b * (1 - ratio)),\n };\n}\n\n/** Adapter `toTriplet`: `\"H S% L%\"`, integer-rounded. */\nfunction toTriplet({ r, g, b }: Rgb): string {\n const rn = r / 255;\n const gn = g / 255;\n const bn = b / 255;\n const max = Math.max(rn, gn, bn);\n const min = Math.min(rn, gn, bn);\n const l = (max + min) / 2;\n const delta = max - min;\n\n let h = 0;\n let s = 0;\n if (delta !== 0) {\n s = l > 0.5 ? delta / (2 - max - min) : delta / (max + min);\n if (max === rn) {\n h = (gn - bn) / delta + (gn < bn ? 6 : 0);\n } else if (max === gn) {\n h = (bn - rn) / delta + 2;\n } else {\n h = (rn - gn) / delta + 4;\n }\n h *= 60;\n }\n return `${Math.round(h)} ${Math.round(s * 100)}% ${Math.round(l * 100)}%`;\n}\n\n/** What `completeScheme` needs from outside the scheme. */\nexport interface SchemeContext {\n /** The store's button colour, which tints `--secondary`/`--accent`. */\n primary?: string;\n}\n\n/**\n * The `SCHEME_TOKENS` of a scheme whose anchors the owner just edited.\n *\n * `anchors` win; everything the adapter derives from them is recomputed when\n * one of its inputs changed (and kept from `base` when none did — see \"Rounding\"\n * in the module header); `--border`/`--input` are taken from `base`. Invalid\n * triplets in any input are ignored, and a derived token whose inputs are\n * unavailable keeps `base`'s value, if any.\n *\n * Returns ONLY `SCHEME_TOKENS`: whatever else `base` carries (a pre-0243 row's\n * card or button colours, its radius) is the store's global set now, not the\n * scheme's, and is dropped. Every output entry passes `isSchemeTokenEntry`.\n */\nexport function completeScheme(\n base: Record<string, string>,\n anchors: Partial<Record<SchemeAnchorToken, string>>,\n context: SchemeContext = {},\n): Record<string, string> {\n // Both checks: `isHslTriplet` is what the arithmetic can convert, and the\n // scheme grammar is what a write accepts — failing either would poison a\n // derivation or get the whole save refused.\n const valid = (value: unknown): string | undefined =>\n typeof value === 'string' &&\n isHslTriplet(value) &&\n isSchemeColorValue(value.trim())\n ? value.trim()\n : undefined;\n const fromBase = (token: string): string | undefined => valid(base[token]);\n const fromAnchor = (token: SchemeAnchorToken): string | undefined =>\n valid(anchors[token]);\n\n const out: Record<string, string> = {};\n const put = (token: string, value: string | undefined): void => {\n if (value !== undefined) {\n out[token] = value;\n }\n };\n\n const background = fromAnchor('--background') ?? fromBase('--background');\n const foreground = fromAnchor('--foreground') ?? fromBase('--foreground');\n const bgChanged = background !== fromBase('--background');\n const fgChanged = foreground !== fromBase('--foreground');\n const bg = background === undefined ? null : tripletToRgb(background);\n const fg = foreground === undefined ? null : tripletToRgb(foreground);\n\n /** base's value while the inputs are unchanged, else the recomputation (else base's). */\n const derive = (\n token: string,\n inputsChanged: boolean,\n compute: () => string | undefined,\n ): string | undefined => {\n const kept = fromBase(token);\n return !inputsChanged && kept !== undefined ? kept : compute() ?? kept;\n };\n const mixOver = (over: Rgb | null, ratio: number) => (): string | undefined =>\n over !== null && bg !== null ? toTriplet(mix(over, ratio, bg)) : undefined;\n\n put('--background', background);\n put('--foreground', foreground);\n put(\n '--popover',\n derive('--popover', bgChanged, () => background),\n );\n put(\n '--popover-foreground',\n derive('--popover-foreground', fgChanged, () => foreground),\n );\n put('--muted', derive('--muted', bgChanged || fgChanged, mixOver(fg, 0.04)));\n put(\n '--muted-foreground',\n derive('--muted-foreground', bgChanged || fgChanged, mixOver(fg, 0.6)),\n );\n\n put('--border', fromBase('--border'));\n put('--input', fromBase('--input'));\n\n // Primary is the store's, not the scheme's. It counts as a changed input only\n // when base states the primary its tints were computed from and the context\n // names a different one; a base without one keeps its tints until the page\n // itself moves.\n const basePrimary = fromBase('--primary');\n const primaryTriplet = valid(context.primary) ?? basePrimary;\n const primaryChanged =\n basePrimary !== undefined &&\n primaryTriplet !== undefined &&\n primaryTriplet !== basePrimary;\n const primary =\n primaryTriplet === undefined ? null : tripletToRgb(primaryTriplet);\n const tintChanged = bgChanged || primaryChanged;\n put('--secondary', derive('--secondary', tintChanged, mixOver(primary, 0.1)));\n put('--accent', derive('--accent', tintChanged, mixOver(primary, 0.1)));\n\n return out;\n}\n\n/** The label the panel shows: the trimmed name, else `Palette N` (1-based). */\nexport function schemeDisplayName(scheme: ThemeScheme, index: number): string {\n const name = typeof scheme.name === 'string' ? scheme.name.trim() : '';\n return name !== '' ? name : `Palette ${index + 1}`;\n}\n\n/** `owner-N` with the smallest N ≥ 1 not already taken. */\nexport function nextOwnerSchemeId(schemes: readonly { id: string }[]): string {\n const taken = new Set(schemes.map((scheme) => scheme.id));\n let n = 1;\n while (taken.has(`owner-${n}`)) {\n n += 1;\n }\n return `owner-${n}`;\n}\n\n/** A colour value a scheme may hold: `SCHEME_COLOR_VALUE`, with S and L ≤ 100. */\nfunction isSchemeColorValue(value: string): boolean {\n const parts = SCHEME_COLOR_VALUE.exec(value);\n return parts !== null && Number(parts[2]) <= 100 && Number(parts[3]) <= 100;\n}\n\n/**\n * Whether a key/value pair may be written as a scheme token — the CLIENT's\n * contract, checked before the panel writes and by `completeScheme`.\n *\n * There is no allow-list: any key of the `themeOverrides` shape\n * (`THEME_OVERRIDE_KEY_PATTERN`) is a candidate. The value grammar follows the\n * key's contract type: `color-hsl` → an HSL triplet with S and L ≤ 100;\n * `length` → a px/rem/em length with its unit; anything else (font stacks,\n * keys the contract does not know) → the loose `themeOverrides` value shape.\n *\n * The server enforces only that loose shape for every key, so a `0 101% 50%`\n * colour or a unitless radius would be ACCEPTED there — and render wrong. That\n * is why the panel refuses them here. The renderer does not re-check values.\n */\nexport function isSchemeTokenEntry(key: string, value: unknown): boolean {\n if (typeof value !== 'string' || !THEME_OVERRIDE_KEY_PATTERN.test(key)) {\n return false;\n }\n switch (THEME_TOKEN_CONTRACT[key]?.type) {\n case 'color-hsl':\n return isSchemeColorValue(value);\n case 'length':\n return SCHEME_RADIUS_VALUE.test(value);\n default:\n return (\n value.length <= MAX_SCHEME_VALUE_LENGTH &&\n SCHEME_LOOSE_VALUE.test(value)\n );\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,YAAY,QAAQ,eAAe;AAC5C,SACEC,0BAA0B,EAC1BC,oBAAoB,QACf,iBAAiB;;AAExB;;AAGA;;AAqBA;AACA,OAAO,MAAMC,mBAAwC,GAAGC,MAAM,CAACC,MAAM,CACnE,IAAIC,GAAG,CACLF,MAAM,CAACG,OAAO,CAACL,oBAAoB,CAAC,CACjCM,MAAM,CAACC,IAAA;EAAA,IAAC,GAAGC,KAAK,CAAC,GAAAD,IAAA;EAAA,OAAKC,KAAK,CAACC,IAAI,KAAK,WAAW;AAAA,EAAC,CACjDC,GAAG,CAACC,KAAA;EAAA,IAAC,CAACC,KAAK,CAAC,GAAAD,KAAA;EAAA,OAAKC,KAAK;AAAA,EAC3B,CACF,CAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,GACtB,iEAAiE;;AAEnE;AACA;AACA;AACA;AACA;AACA,MAAMC,mBAAmB,GAAG,kCAAkC;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,GAAG,kBAAkB;AAC7C,MAAMC,uBAAuB,GAAG,GAAG;;AAEnC;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,aAAa,GAAG,CAC3B,cAAc,EACd,cAAc,EACd,WAAW,EACX,sBAAsB,EACtB,SAAS,EACT,oBAAoB,EACpB,UAAU,EACV,S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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["isHslTriplet","THEME_OVERRIDE_KEY_PATTERN","THEME_TOKEN_CONTRACT","SCHEME_COLOR_TOKENS","Object","freeze","Set","entries","filter","_ref","entry","type","map","_ref2","token","SCHEME_COLOR_VALUE","SCHEME_RADIUS_VALUE","SCHEME_LOOSE_VALUE","MAX_SCHEME_VALUE_LENGTH","SCHEME_TOKENS","SCHEME_TOKEN_SET","schemeTokensOf","fromEntries","_ref3","has","SCHEME_ANCHOR_TOKENS","MAX_THEME_SCHEMES","SCHEME_ID_PATTERN","MAX_SCHEME_NAME_LENGTH","isPlainObject","value","Array","isArray","isThemeScheme","id","name","origin","baseSchemeId","tokens","test","undefined","length","values","every","v","resolveActiveScheme","cfg","themeSchemes","schemes","activeId","activeThemeSchemeId","active","find","scheme","TRIPLET","tripletToRgb","triplet","parts","exec","trim","h","Number","s","l","c","Math","abs","x","m","r","g","b","mix","fg","ratio","bg","round","toTriplet","_ref4","rn","gn","bn","max","min","delta","completeScheme","base","anchors","valid","isSchemeColorValue","fromBase","fromAnchor","out","put","background","foreground","bgChanged","fgChanged","derive","inputsChanged","compute","kept","mixOver","over","schemeDisplayName","index","nextOwnerSchemeId","taken","n","isSchemeTokenEntry","key","_THEME_TOKEN_CONTRACT"],"sources":["../../../src/theme/themeScheme.ts"],"sourcesContent":["/**\n * Named theme schemes on a site configuration, and the one that is active.\n *\n * A store's theme states a SET of palettes rather than one — Dawn and Horizon\n * ship `scheme-1`..`scheme-5` for the page, the cards, the hero band, the\n * footer. The configuration therefore carries a list of schemes plus the id of\n * the active one, beside the flat `themeOverrides` map it has always had:\n *\n * themeSchemes?: [{ id, name?, origin?, tokens: { '--background': '0 0% 100%', … } }]\n * activeThemeSchemeId?: 'scheme-1'\n *\n * A scheme's `tokens` are finished CSS tokens, spelled exactly as\n * `themeOverrides` spells them — and, like `themeOverrides`, the key set is\n * OPEN. Today's writers put the 18 colour roles (`SCHEME_COLOR_TOKENS`) there,\n * sometimes `--radius`; that a palette may carry shape as well as colour is why\n * this is a THEME scheme and not a colour scheme. A new token (a font stack,\n * something the contract has not catalogued yet) needs no release anywhere but\n * its writer. The server checks only the loose shape `themeOverrides` gets (key\n * `THEME_OVERRIDE_KEY_PATTERN`, a value free of `;`, `{`, `}` and control\n * characters, ≤ 256, at most 24 entries); the typed per-token grammar is the\n * CLIENT's contract, enforced by `isSchemeTokenEntry` before the panel writes.\n * Nothing is expanded at apply time: the reader resolves the active entry and\n * hands its map to `applyThemeOverrides`, which layers it between the store map\n * and the owner's overrides, filtered and bucketed exactly like the store map.\n * A configuration with no schemes renders exactly as it did before they existed.\n *\n * A leaf module beside `tokenContract.ts`, and for the same reason that file\n * documents: requiring core's ENTRY from plain Node fails on its CSS import,\n * but a deep import of a zero-CSS leaf works. It imports only its siblings\n * `./tokenContract` and `./colorFormat`, both leaves themselves.\n *\n * ## What a scheme carries (ADR 0243)\n *\n * A theme scheme is a background and its text, plus the colours mechanically\n * derived from those two: `SCHEME_TOKENS`. Card colours, button colours,\n * radius and fonts are the store's global set (`themeOverrides`) and the\n * owner's global edits (`userThemeOverrides`), applied under and over the\n * scheme respectively — so they survive every scheme switch. Rows written\n * before 0243 may still carry more; readers apply whatever a row holds, and\n * the owner panel writes only `SCHEME_TOKENS` into the rows it creates.\n *\n * An edited THEME scheme is an OWNER row that names it in `baseSchemeId`, so\n * the panel can show the edit on that scheme's tile and revert only that one.\n *\n * ## `completeScheme` — what the owner panel recomputes\n *\n * The owner edits the two anchors. The rest of the scheme has to move with\n * them the way `web50-shopify-adapter/src/theme-tokens.ts` would have moved it\n * had the theme stated those anchors, so the arithmetic below is a COPY of the\n * adapter's (`composite`/`mix`/`toTriplet` and the token assignments at the end\n * of `extractThemeOverrides`), integer rounding included. It is copied rather\n * than shared on purpose: the adapter must not import core.\n *\n * | token | role |\n * | ------------------------ | ------------------------------------------------------ |\n * | `--background` | anchor (else inherited from base) |\n * | `--foreground` | anchor (else inherited from base) |\n * | `--popover` | derived: = background |\n * | `--popover-foreground` | derived: = foreground |\n * | `--muted` | derived: foreground 4% over background |\n * | `--muted-foreground` | derived: foreground 60% over background |\n * | `--border` | inherited from base (no fallback — see below) |\n * | `--input` | inherited from base (no fallback — see below) |\n *\n * `--secondary`/`--accent` are NOT scheme tokens: the adapter mixes them from\n * the button colour, so they belong to the store's global set\n * (`themeOverrides`) with the buttons, and a scheme edit leaves them alone.\n * `--border`/`--input` are read straight off the\n * theme by the adapter, which reconstructs a missing border from the theme's\n * `*_border_opacity` setting a token map does not carry — so they are\n * inherited from base, and omitted when base lacks them, as the adapter omits\n * them.\n *\n * ## Rounding: why an unchanged input keeps base's value\n *\n * The adapter mixes 8-bit channels parsed from the theme's hex; a scheme only\n * has the integer-rounded triplet, and the hex cannot be recovered from it.\n * Re-deriving from triplets therefore lands a point off now and then — Horizon\n * `color_palette`'s `--muted-foreground` comes back `359 83% 68%` against the\n * adapter's `359 84% 68%`. So a derived token is recomputed only when one of\n * its INPUTS differs from base; otherwise base's value stands. A merchant who\n * edits nothing gets the adapter's map back exactly, and one who edits the\n * background gets the family recomputed.\n *\n * When it is recomputed, triplets convert back to RGB WITHOUT rounding to\n * 8-bit first — that would be a second quantisation the adapter never\n * performs, and enough to move a mixed colour's saturation by several points\n * (smallflower's button tint went from `230 38% 94%` to `230 42% 94%`). The mix result is rounded exactly where the adapter\n * rounds it.\n */\nimport { isHslTriplet } from './colorFormat';\nimport {\n THEME_OVERRIDE_KEY_PATTERN,\n THEME_TOKEN_CONTRACT,\n} from './tokenContract';\n\n/** Where a scheme came from. Any other value on the wire reads as unknown. */\nexport type SchemeOrigin = 'UNKNOWN_SCHEME_ORIGIN' | 'THEME' | 'OWNER';\n\n/** One named palette as the configuration carries it. */\nexport interface ThemeScheme {\n /** `^[a-z0-9][a-z0-9-]{0,31}$`, unique within the list. */\n id: string;\n /** Shown in the owner panel; at most 48 characters. */\n name?: string;\n origin?: SchemeOrigin | string;\n /**\n * On an OWNER row: the id of the THEME scheme it is an edit of. Not the\n * row's own id, unique across rows (at most one edit per scheme), and it may\n * dangle — a theme publish can remove the base, and the edit survives it.\n */\n baseSchemeId?: string;\n /**\n * Token → value, keys as open as `themeOverrides`': colours as bare HSL\n * triplets (`0 0% 100%`), `--radius` as a length (`0.5rem`), anything else\n * in the loose value shape. See `isSchemeTokenEntry`.\n */\n tokens: Record<string, string>;\n}\n\n/** Every colour role in the contract (`type: 'color-hsl'`, `--heading` included). */\nexport const SCHEME_COLOR_TOKENS: ReadonlySet<string> = Object.freeze(\n new Set(\n Object.entries(THEME_TOKEN_CONTRACT)\n .filter(([, entry]) => entry.type === 'color-hsl')\n .map(([token]) => token),\n ),\n) as ReadonlySet<string>;\n\n/**\n * A scheme colour (`type: 'color-hsl'`): `H S% L%`, single-spaced, no `hsl()`\n * wrapper. Saturation and lightness are additionally capped at 100\n * (`isSchemeColorValue`); hue is bounded only by its three digits.\n */\nconst SCHEME_COLOR_VALUE =\n /^(\\d{1,3}(?:\\.\\d+)?) (\\d{1,3}(?:\\.\\d+)?)% (\\d{1,3}(?:\\.\\d+)?)%$/;\n\n/**\n * A scheme length (`type: 'length'`, i.e. `--radius`): px/rem/em, unit REQUIRED\n * (`0px`, not `0`). A bare `0` would turn `calc(var(--radius) - 4px)` into\n * invalid CSS — see the `length` note in `tokenContract.ts`.\n */\nconst SCHEME_RADIUS_VALUE = /^\\d{1,4}(?:\\.\\d+)?(?:px|rem|em)$/;\n\n/**\n * Any other scheme value — a font stack, a key the contract has not catalogued:\n * no `;`, `{`, `}` or control character. The server's `themeOverrides` value\n * shape (`^[^;{}\\p{Cntrl}]{1,256}$`); the length is checked separately in\n * UTF-16 units, as the server counts, since a `u`-flag quantifier counts code\n * points.\n */\nconst SCHEME_LOOSE_VALUE = /^[^;{}\\p{Cc}]+$/u;\nconst MAX_SCHEME_VALUE_LENGTH = 256;\n\n/**\n * What a scheme is (ADR 0243): its background and text, and the colours\n * derived from those two. The panel writes exactly these into the OWNER rows\n * it creates, and mirrors exactly these of the active row into `themeOverrides`.\n */\nexport const SCHEME_TOKENS = [\n '--background',\n '--foreground',\n '--popover',\n '--popover-foreground',\n '--muted',\n '--muted-foreground',\n '--border',\n '--input',\n] as const;\n\nexport type SchemeToken = (typeof SCHEME_TOKENS)[number];\n\nconst SCHEME_TOKEN_SET: ReadonlySet<string> = new Set(SCHEME_TOKENS);\n\n/** Only the `SCHEME_TOKENS` entries of `map`. */\nexport function schemeTokensOf(\n map: Record<string, string> | null | undefined,\n): Record<string, string> {\n return Object.fromEntries(\n Object.entries(map ?? {}).filter(([token]) => SCHEME_TOKEN_SET.has(token)),\n );\n}\n\n/** The two the owner edits on a scheme, in panel order. */\nexport const SCHEME_ANCHOR_TOKENS = ['--background', '--foreground'] as const;\n\nexport type SchemeAnchorToken = (typeof SCHEME_ANCHOR_TOKENS)[number];\n\n/** Upper bound on schemes per configuration. */\nexport const MAX_THEME_SCHEMES = 16;\n\nconst SCHEME_ID_PATTERN = /^[a-z0-9][a-z0-9-]{0,31}$/;\nconst MAX_SCHEME_NAME_LENGTH = 48;\n\nconst isPlainObject = (value: unknown): value is Record<string, unknown> =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\n/**\n * Whether an untrusted value has a scheme's SHAPE.\n *\n * Token content is deliberately not judged here: `applyThemeOverrides` drops a\n * malformed key one entry at a time, exactly as it does for the flat store map\n * (and says so), so one bad token costs that token rather than the whole\n * palette. The typed value grammar is `isSchemeTokenEntry`, checked by writers.\n */\nexport function isThemeScheme(value: unknown): value is ThemeScheme {\n if (!isPlainObject(value)) {\n return false;\n }\n const { id, name, origin, baseSchemeId, tokens } = value;\n if (typeof id !== 'string' || !SCHEME_ID_PATTERN.test(id)) {\n return false;\n }\n if (baseSchemeId !== undefined && typeof baseSchemeId !== 'string') {\n return false;\n }\n if (\n name !== undefined &&\n (typeof name !== 'string' || name.length > MAX_SCHEME_NAME_LENGTH)\n ) {\n return false;\n }\n if (origin !== undefined && typeof origin !== 'string') {\n return false;\n }\n return (\n isPlainObject(tokens) &&\n Object.values(tokens).every((v) => typeof v === 'string')\n );\n}\n\n/**\n * The active scheme: the entry whose id is `activeThemeSchemeId`, else the\n * first entry, else null. Entries failing `isThemeScheme` are skipped first, so\n * a dangling id or a malformed entry falls through to the first usable one.\n */\nexport function resolveActiveScheme(\n cfg:\n | { themeSchemes?: unknown; activeThemeSchemeId?: string | null }\n | null\n | undefined,\n): ThemeScheme | null {\n if (!cfg || !Array.isArray(cfg.themeSchemes)) {\n return null;\n }\n const schemes = cfg.themeSchemes.filter(isThemeScheme);\n if (schemes.length === 0) {\n return null;\n }\n const activeId = cfg.activeThemeSchemeId;\n const active =\n typeof activeId === 'string'\n ? schemes.find((scheme) => scheme.id === activeId)\n : undefined;\n return active ?? schemes[0];\n}\n\n// ── Arithmetic copied from web50-shopify-adapter/src/theme-tokens.ts ────────\n\ninterface Rgb {\n r: number;\n g: number;\n b: number;\n}\n\nconst TRIPLET =\n /^(\\d{1,3}(?:\\.\\d+)?)\\s+(\\d{1,3}(?:\\.\\d+)?)%\\s+(\\d{1,3}(?:\\.\\d+)?)%$/;\n\n/**\n * A triplet as RGB in 0–255, NOT rounded to 8-bit — see the module header for\n * why. Same conversion as `colorFormat.hslTripletToHex`, minus its rounding.\n */\nfunction tripletToRgb(triplet: string): Rgb | null {\n const parts = TRIPLET.exec(triplet.trim());\n if (!parts || !isHslTriplet(triplet)) {\n return null;\n }\n const h = Number(parts[1]);\n const s = Number(parts[2]) / 100;\n const l = Number(parts[3]) / 100;\n\n const c = (1 - Math.abs(2 * l - 1)) * s;\n const x = c * (1 - Math.abs(((h / 60) % 2) - 1));\n const m = l - c / 2;\n const [r, g, b] =\n h < 60\n ? [c, x, 0]\n : h < 120\n ? [x, c, 0]\n : h < 180\n ? [0, c, x]\n : h < 240\n ? [0, x, c]\n : h < 300\n ? [x, 0, c]\n : [c, 0, x];\n return { r: (r + m) * 255, g: (g + m) * 255, b: (b + m) * 255 };\n}\n\n/** Adapter `composite` for an opaque-over-opaque mix, via its `mix`: channels rounded to 8-bit. */\nfunction mix(fg: Rgb, ratio: number, bg: Rgb): Rgb {\n return {\n r: Math.round(fg.r * ratio + bg.r * (1 - ratio)),\n g: Math.round(fg.g * ratio + bg.g * (1 - ratio)),\n b: Math.round(fg.b * ratio + bg.b * (1 - ratio)),\n };\n}\n\n/** Adapter `toTriplet`: `\"H S% L%\"`, integer-rounded. */\nfunction toTriplet({ r, g, b }: Rgb): string {\n const rn = r / 255;\n const gn = g / 255;\n const bn = b / 255;\n const max = Math.max(rn, gn, bn);\n const min = Math.min(rn, gn, bn);\n const l = (max + min) / 2;\n const delta = max - min;\n\n let h = 0;\n let s = 0;\n if (delta !== 0) {\n s = l > 0.5 ? delta / (2 - max - min) : delta / (max + min);\n if (max === rn) {\n h = (gn - bn) / delta + (gn < bn ? 6 : 0);\n } else if (max === gn) {\n h = (bn - rn) / delta + 2;\n } else {\n h = (rn - gn) / delta + 4;\n }\n h *= 60;\n }\n return `${Math.round(h)} ${Math.round(s * 100)}% ${Math.round(l * 100)}%`;\n}\n\n/**\n * The `SCHEME_TOKENS` of a scheme whose anchors the owner just edited.\n *\n * `anchors` win; everything the adapter derives from them is recomputed when\n * one of its inputs changed (and kept from `base` when none did — see \"Rounding\"\n * in the module header); `--border`/`--input` are taken from `base`. Invalid\n * triplets in any input are ignored, and a derived token whose inputs are\n * unavailable keeps `base`'s value, if any.\n *\n * Returns ONLY `SCHEME_TOKENS`: whatever else `base` carries (a pre-0243 row's\n * card, button or secondary/accent colours, its radius) is the store's global set now, not the\n * scheme's, and is dropped. Every output entry passes `isSchemeTokenEntry`.\n */\nexport function completeScheme(\n base: Record<string, string>,\n anchors: Partial<Record<SchemeAnchorToken, string>>,\n): Record<string, string> {\n // Both checks: `isHslTriplet` is what the arithmetic can convert, and the\n // scheme grammar is what a write accepts — failing either would poison a\n // derivation or get the whole save refused.\n const valid = (value: unknown): string | undefined =>\n typeof value === 'string' &&\n isHslTriplet(value) &&\n isSchemeColorValue(value.trim())\n ? value.trim()\n : undefined;\n const fromBase = (token: string): string | undefined => valid(base[token]);\n const fromAnchor = (token: SchemeAnchorToken): string | undefined =>\n valid(anchors[token]);\n\n const out: Record<string, string> = {};\n const put = (token: string, value: string | undefined): void => {\n if (value !== undefined) {\n out[token] = value;\n }\n };\n\n const background = fromAnchor('--background') ?? fromBase('--background');\n const foreground = fromAnchor('--foreground') ?? fromBase('--foreground');\n const bgChanged = background !== fromBase('--background');\n const fgChanged = foreground !== fromBase('--foreground');\n const bg = background === undefined ? null : tripletToRgb(background);\n const fg = foreground === undefined ? null : tripletToRgb(foreground);\n\n /** base's value while the inputs are unchanged, else the recomputation (else base's). */\n const derive = (\n token: string,\n inputsChanged: boolean,\n compute: () => string | undefined,\n ): string | undefined => {\n const kept = fromBase(token);\n return !inputsChanged && kept !== undefined ? kept : compute() ?? kept;\n };\n const mixOver = (over: Rgb | null, ratio: number) => (): string | undefined =>\n over !== null && bg !== null ? toTriplet(mix(over, ratio, bg)) : undefined;\n\n put('--background', background);\n put('--foreground', foreground);\n put(\n '--popover',\n derive('--popover', bgChanged, () => background),\n );\n put(\n '--popover-foreground',\n derive('--popover-foreground', fgChanged, () => foreground),\n );\n put('--muted', derive('--muted', bgChanged || fgChanged, mixOver(fg, 0.04)));\n put(\n '--muted-foreground',\n derive('--muted-foreground', bgChanged || fgChanged, mixOver(fg, 0.6)),\n );\n\n put('--border', fromBase('--border'));\n put('--input', fromBase('--input'));\n\n return out;\n}\n\n/** The label the panel shows: the trimmed name, else `Palette N` (1-based). */\nexport function schemeDisplayName(scheme: ThemeScheme, index: number): string {\n const name = typeof scheme.name === 'string' ? scheme.name.trim() : '';\n return name !== '' ? name : `Palette ${index + 1}`;\n}\n\n/** `owner-N` with the smallest N ≥ 1 not already taken. */\nexport function nextOwnerSchemeId(schemes: readonly { id: string }[]): string {\n const taken = new Set(schemes.map((scheme) => scheme.id));\n let n = 1;\n while (taken.has(`owner-${n}`)) {\n n += 1;\n }\n return `owner-${n}`;\n}\n\n/** A colour value a scheme may hold: `SCHEME_COLOR_VALUE`, with S and L ≤ 100. */\nfunction isSchemeColorValue(value: string): boolean {\n const parts = SCHEME_COLOR_VALUE.exec(value);\n return parts !== null && Number(parts[2]) <= 100 && Number(parts[3]) <= 100;\n}\n\n/**\n * Whether a key/value pair may be written as a scheme token — the CLIENT's\n * contract, checked before the panel writes and by `completeScheme`.\n *\n * There is no allow-list: any key of the `themeOverrides` shape\n * (`THEME_OVERRIDE_KEY_PATTERN`) is a candidate. The value grammar follows the\n * key's contract type: `color-hsl` → an HSL triplet with S and L ≤ 100;\n * `length` → a px/rem/em length with its unit; anything else (font stacks,\n * keys the contract does not know) → the loose `themeOverrides` value shape.\n *\n * The server enforces only that loose shape for every key, so a `0 101% 50%`\n * colour or a unitless radius would be ACCEPTED there — and render wrong. That\n * is why the panel refuses them here. The renderer does not re-check values.\n */\nexport function isSchemeTokenEntry(key: string, value: unknown): boolean {\n if (typeof value !== 'string' || !THEME_OVERRIDE_KEY_PATTERN.test(key)) {\n return false;\n }\n switch (THEME_TOKEN_CONTRACT[key]?.type) {\n case 'color-hsl':\n return isSchemeColorValue(value);\n case 'length':\n return SCHEME_RADIUS_VALUE.test(value);\n default:\n return (\n value.length <= MAX_SCHEME_VALUE_LENGTH &&\n SCHEME_LOOSE_VALUE.test(value)\n );\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,YAAY,QAAQ,eAAe;AAC5C,SACEC,0BAA0B,EAC1BC,oBAAoB,QACf,iBAAiB;;AAExB;;AAGA;;AAqBA;AACA,OAAO,MAAMC,mBAAwC,GAAGC,MAAM,CAACC,MAAM,CACnE,IAAIC,GAAG,CACLF,MAAM,CAACG,OAAO,CAACL,oBAAoB,CAAC,CACjCM,MAAM,CAACC,IAAA;EAAA,IAAC,GAAGC,KAAK,CAAC,GAAAD,IAAA;EAAA,OAAKC,KAAK,CAACC,IAAI,KAAK,WAAW;AAAA,EAAC,CACjDC,GAAG,CAACC,KAAA;EAAA,IAAC,CAACC,KAAK,CAAC,GAAAD,KAAA;EAAA,OAAKC,KAAK;AAAA,EAC3B,CACF,CAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,GACtB,iEAAiE;;AAEnE;AACA;AACA;AACA;AACA;AACA,MAAMC,mBAAmB,GAAG,kCAAkC;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,GAAG,kBAAkB;AAC7C,MAAMC,uBAAuB,GAAG,GAAG;;AAEnC;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,aAAa,GAAG,CAC3B,cAAc,EACd,cAAc,EACd,WAAW,EACX,sBAAsB,EACtB,SAAS,EACT,oBAAoB,EACpB,UAAU,EACV,SAAS,CACD;AAIV,MAAMC,gBAAqC,GAAG,IAAId,GAAG,CAACa,aAAa,CAAC;;AAEpE;AACA,OAAO,SAASE,cAAcA,CAC5BT,GAA8C,EACtB;EACxB,OAAOR,MAAM,CAACkB,WAAW,CACvBlB,MAAM,CAACG,OAAO,CAACK,GAAG,IAAI,CAAC,CAAC,CAAC,CAACJ,MAAM,CAACe,KAAA;IAAA,IAAC,CAACT,KAAK,CAAC,GAAAS,KAAA;IAAA,OAAKH,gBAAgB,CAACI,GAAG,CAACV,KAAK,CAAC;EAAA,EAC3E,CAAC;AACH;;AAEA;AACA,OAAO,MAAMW,oBAAoB,GAAG,CAAC,cAAc,EAAE,cAAc,CAAU;AAI7E;AACA,OAAO,MAAMC,iBAAiB,GAAG,EAAE;AAEnC,MAAMC,iBAAiB,GAAG,2BAA2B;AACrD,MAAMC,sBAAsB,GAAG,EAAE;AAEjC,MAAMC,aAAa,GAAIC,KAAc,IACnC,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI,IAAI,CAACC,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC;;AAEtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASG,aAAaA,CAACH,KAAc,EAAwB;EAClE,IAAI,CAACD,aAAa,CAACC,KAAK,CAAC,EAAE;IACzB,OAAO,KAAK;EACd;EACA,MAAM;IAAEI,EAAE;IAAEC,IAAI;IAAEC,MAAM;IAAEC,YAAY;IAAEC;EAAO,CAAC,GAAGR,KAAK;EACxD,IAAI,OAAOI,EAAE,KAAK,QAAQ,IAAI,CAACP,iBAAiB,CAACY,IAAI,CAACL,EAAE,CAAC,EAAE;IACzD,OAAO,KAAK;EACd;EACA,IAAIG,YAAY,KAAKG,SAAS,IAAI,OAAOH,YAAY,KAAK,QAAQ,EAAE;IAClE,OAAO,KAAK;EACd;EACA,IACEF,IAAI,KAAKK,SAAS,KACjB,OAAOL,IAAI,KAAK,QAAQ,IAAIA,IAAI,CAACM,MAAM,GAAGb,sBAAsB,CAAC,EAClE;IACA,OAAO,KAAK;EACd;EACA,IAAIQ,MAAM,KAAKI,SAAS,IAAI,OAAOJ,MAAM,KAAK,QAAQ,EAAE;IACtD,OAAO,KAAK;EACd;EACA,OACEP,aAAa,CAACS,MAAM,CAAC,IACrBlC,MAAM,CAACsC,MAAM,CAACJ,MAAM,CAAC,CAACK,KAAK,CAAEC,CAAC,IAAK,OAAOA,CAAC,KAAK,QAAQ,CAAC;AAE7D;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CACjCC,GAGa,EACO;EACpB,IAAI,CAACA,GAAG,IAAI,CAACf,KAAK,CAACC,OAAO,CAACc,GAAG,CAACC,YAAY,CAAC,EAAE;IAC5C,OAAO,IAAI;EACb;EACA,MAAMC,OAAO,GAAGF,GAAG,CAACC,YAAY,CAACvC,MAAM,CAACyB,aAAa,CAAC;EACtD,IAAIe,OAAO,CAACP,MAAM,KAAK,CAAC,EAAE;IACxB,OAAO,IAAI;EACb;EACA,MAAMQ,QAAQ,GAAGH,GAAG,CAACI,mBAAmB;EACxC,MAAMC,MAAM,GACV,OAAOF,QAAQ,KAAK,QAAQ,GACxBD,OAAO,CAACI,IAAI,CAAEC,MAAM,IAAKA,MAAM,CAACnB,EAAE,KAAKe,QAAQ,CAAC,GAChDT,SAAS;EACf,OAAOW,MAAM,IAAIH,OAAO,CAAC,CAAC,CAAC;AAC7B;;AAEA;;AAQA,MAAMM,OAAO,GACX,qEAAqE;;AAEvE;AACA;AACA;AACA;AACA,SAASC,YAAYA,CAACC,OAAe,EAAc;EACjD,MAAMC,KAAK,GAAGH,OAAO,CAACI,IAAI,CAACF,OAAO,CAACG,IAAI,CAAC,CAAC,CAAC;EAC1C,IAAI,CAACF,KAAK,IAAI,CAACzD,YAAY,CAACwD,OAAO,CAAC,EAAE;IACpC,OAAO,IAAI;EACb;EACA,MAAMI,CAAC,GAAGC,MAAM,CAACJ,KAAK,CAAC,CAAC,CAAC,CAAC;EAC1B,MAAMK,CAAC,GAAGD,MAAM,CAACJ,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG;EAChC,MAAMM,CAAC,GAAGF,MAAM,CAACJ,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG;EAEhC,MAAMO,CAAC,GAAG,CAAC,CAAC,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGH,CAAC,GAAG,CAAC,CAAC,IAAID,CAAC;EACvC,MAAMK,CAAC,GAAGH,CAAC,IAAI,CAAC,GAAGC,IAAI,CAACC,GAAG,CAAGN,CAAC,GAAG,EAAE,GAAI,CAAC,GAAI,CAAC,CAAC,CAAC;EAChD,MAAMQ,CAAC,GAAGL,CAAC,GAAGC,CAAC,GAAG,CAAC;EACnB,MAAM,CAACK,CAAC,EAAEC,CAAC,EAAEC,CAAC,CAAC,GACbX,CAAC,GAAG,EAAE,GACF,CAACI,CAAC,EAAEG,CAAC,EAAE,CAAC,CAAC,GACTP,CAAC,GAAG,GAAG,GACP,CAACO,CAAC,EAAEH,CAAC,EAAE,CAAC,CAAC,GACTJ,CAAC,GAAG,GAAG,GACP,CAAC,CAAC,EAAEI,CAAC,EAAEG,CAAC,CAAC,GACTP,CAAC,GAAG,GAAG,GACP,CAAC,CAAC,EAAEO,CAAC,EAAEH,CAAC,CAAC,GACTJ,CAAC,GAAG,GAAG,GACP,CAACO,CAAC,EAAE,CAAC,EAAEH,CAAC,CAAC,GACT,CAACA,CAAC,EAAE,CAAC,EAAEG,CAAC,CAAC;EACf,OAAO;IAAEE,CAAC,EAAE,CAACA,CAAC,GAAGD,CAAC,IAAI,GAAG;IAAEE,CAAC,EAAE,CAACA,CAAC,GAAGF,CAAC,IAAI,GAAG;IAAEG,CAAC,EAAE,CAACA,CAAC,GAAGH,CAAC,IAAI;EAAI,CAAC;AACjE;;AAEA;AACA,SAASI,GAAGA,CAACC,EAAO,EAAEC,KAAa,EAAEC,EAAO,EAAO;EACjD,OAAO;IACLN,CAAC,EAAEJ,IAAI,CAACW,KAAK,CAACH,EAAE,CAACJ,CAAC,GAAGK,KAAK,GAAGC,EAAE,CAACN,CAAC,IAAI,CAAC,GAAGK,KAAK,CAAC,CAAC;IAChDJ,CAAC,EAAEL,IAAI,CAACW,KAAK,CAACH,EAAE,CAACH,CAAC,GAAGI,KAAK,GAAGC,EAAE,CAACL,CAAC,IAAI,CAAC,GAAGI,KAAK,CAAC,CAAC;IAChDH,CAAC,EAAEN,IAAI,CAACW,KAAK,CAACH,EAAE,CAACF,CAAC,GAAGG,KAAK,GAAGC,EAAE,CAACJ,CAAC,IAAI,CAAC,GAAGG,KAAK,CAAC;EACjD,CAAC;AACH;;AAEA;AACA,SAASG,SAASA,CAAAC,KAAA,EAA2B;EAAA,IAA1B;IAAET,CAAC;IAAEC,CAAC;IAAEC;EAAO,CAAC,GAAAO,KAAA;EACjC,MAAMC,EAAE,GAAGV,CAAC,GAAG,GAAG;EAClB,MAAMW,EAAE,GAAGV,CAAC,GAAG,GAAG;EAClB,MAAMW,EAAE,GAAGV,CAAC,GAAG,GAAG;EAClB,MAAMW,GAAG,GAAGjB,IAAI,CAACiB,GAAG,CAACH,EAAE,EAAEC,EAAE,EAAEC,EAAE,CAAC;EAChC,MAAME,GAAG,GAAGlB,IAAI,CAACkB,GAAG,CAACJ,EAAE,EAAEC,EAAE,EAAEC,EAAE,CAAC;EAChC,MAAMlB,CAAC,GAAG,CAACmB,GAAG,GAAGC,GAAG,IAAI,CAAC;EACzB,MAAMC,KAAK,GAAGF,GAAG,GAAGC,GAAG;EAEvB,IAAIvB,CAAC,GAAG,CAAC;EACT,IAAIE,CAAC,GAAG,CAAC;EACT,IAAIsB,KAAK,KAAK,CAAC,EAAE;IACftB,CAAC,GAAGC,CAAC,GAAG,GAAG,GAAGqB,KAAK,IAAI,CAAC,GAAGF,GAAG,GAAGC,GAAG,CAAC,GAAGC,KAAK,IAAIF,GAAG,GAAGC,GAAG,CAAC;IAC3D,IAAID,GAAG,KAAKH,EAAE,EAAE;MACdnB,CAAC,GAAG,CAACoB,EAAE,GAAGC,EAAE,IAAIG,KAAK,IAAIJ,EAAE,GAAGC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC,MAAM,IAAIC,GAAG,KAAKF,EAAE,EAAE;MACrBpB,CAAC,GAAG,CAACqB,EAAE,GAAGF,EAAE,IAAIK,KAAK,GAAG,CAAC;IAC3B,CAAC,MAAM;MACLxB,CAAC,GAAG,CAACmB,EAAE,GAAGC,EAAE,IAAII,KAAK,GAAG,CAAC;IAC3B;IACAxB,CAAC,IAAI,EAAE;EACT;EACA,OAAO,GAAGK,IAAI,CAACW,KAAK,CAAChB,CAAC,CAAC,IAAIK,IAAI,CAACW,KAAK,CAACd,CAAC,GAAG,GAAG,CAAC,KAAKG,IAAI,CAACW,KAAK,CAACb,CAAC,GAAG,GAAG,CAAC,GAAG;AAC3E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASsB,cAAcA,CAC5BC,IAA4B,EAC5BC,OAAmD,EAC3B;EACxB;EACA;EACA;EACA,MAAMC,KAAK,GAAI1D,KAAc,IAC3B,OAAOA,KAAK,KAAK,QAAQ,IACzB9B,YAAY,CAAC8B,KAAK,CAAC,IACnB2D,kBAAkB,CAAC3D,KAAK,CAAC6B,IAAI,CAAC,CAAC,CAAC,GAC5B7B,KAAK,CAAC6B,IAAI,CAAC,CAAC,GACZnB,SAAS;EACf,MAAMkD,QAAQ,GAAI5E,KAAa,IAAyB0E,KAAK,CAACF,IAAI,CAACxE,KAAK,CAAC,CAAC;EAC1E,MAAM6E,UAAU,GAAI7E,KAAwB,IAC1C0E,KAAK,CAACD,OAAO,CAACzE,KAAK,CAAC,CAAC;EAEvB,MAAM8E,GAA2B,GAAG,CAAC,CAAC;EACtC,MAAMC,GAAG,GAAGA,CAAC/E,KAAa,EAAEgB,KAAyB,KAAW;IAC9D,IAAIA,KAAK,KAAKU,SAAS,EAAE;MACvBoD,GAAG,CAAC9E,KAAK,CAAC,GAAGgB,KAAK;IACpB;EACF,CAAC;EAED,MAAMgE,UAAU,GAAGH,UAAU,CAAC,cAAc,CAAC,IAAID,QAAQ,CAAC,cAAc,CAAC;EACzE,MAAMK,UAAU,GAAGJ,UAAU,CAAC,cAAc,CAAC,IAAID,QAAQ,CAAC,cAAc,CAAC;EACzE,MAAMM,SAAS,GAAGF,UAAU,KAAKJ,QAAQ,CAAC,cAAc,CAAC;EACzD,MAAMO,SAAS,GAAGF,UAAU,KAAKL,QAAQ,CAAC,cAAc,CAAC;EACzD,MAAMf,EAAE,GAAGmB,UAAU,KAAKtD,SAAS,GAAG,IAAI,GAAGe,YAAY,CAACuC,UAAU,CAAC;EACrE,MAAMrB,EAAE,GAAGsB,UAAU,KAAKvD,SAAS,GAAG,IAAI,GAAGe,YAAY,CAACwC,UAAU,CAAC;;EAErE;EACA,MAAMG,MAAM,GAAGA,CACbpF,KAAa,EACbqF,aAAsB,EACtBC,OAAiC,KACV;IACvB,MAAMC,IAAI,GAAGX,QAAQ,CAAC5E,KAAK,CAAC;IAC5B,OAAO,CAACqF,aAAa,IAAIE,IAAI,KAAK7D,SAAS,GAAG6D,IAAI,GAAGD,OAAO,CAAC,CAAC,IAAIC,IAAI;EACxE,CAAC;EACD,MAAMC,OAAO,GAAGA,CAACC,IAAgB,EAAE7B,KAAa,KAAK,MACnD6B,IAAI,KAAK,IAAI,IAAI5B,EAAE,KAAK,IAAI,GAAGE,SAAS,CAACL,GAAG,CAAC+B,IAAI,EAAE7B,KAAK,EAAEC,EAAE,CAAC,CAAC,GAAGnC,SAAS;EAE5EqD,GAAG,CAAC,cAAc,EAAEC,UAAU,CAAC;EAC/BD,GAAG,CAAC,cAAc,EAAEE,UAAU,CAAC;EAC/BF,GAAG,CACD,WAAW,EACXK,MAAM,CAAC,WAAW,EAAEF,SAAS,EAAE,MAAMF,UAAU,CACjD,CAAC;EACDD,GAAG,CACD,sBAAsB,EACtBK,MAAM,CAAC,sBAAsB,EAAED,SAAS,EAAE,MAAMF,UAAU,CAC5D,CAAC;EACDF,GAAG,CAAC,SAAS,EAAEK,MAAM,CAAC,SAAS,EAAEF,SAAS,IAAIC,SAAS,EAAEK,OAAO,CAAC7B,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;EAC5EoB,GAAG,CACD,oBAAoB,EACpBK,MAAM,CAAC,oBAAoB,EAAEF,SAAS,IAAIC,SAAS,EAAEK,OAAO,CAAC7B,EAAE,EAAE,GAAG,CAAC,CACvE,CAAC;EAEDoB,GAAG,CAAC,UAAU,EAAEH,QAAQ,CAAC,UAAU,CAAC,CAAC;EACrCG,GAAG,CAAC,SAAS,EAAEH,QAAQ,CAAC,SAAS,CAAC,CAAC;EAEnC,OAAOE,GAAG;AACZ;;AAEA;AACA,OAAO,SAASY,iBAAiBA,CAACnD,MAAmB,EAAEoD,KAAa,EAAU;EAC5E,MAAMtE,IAAI,GAAG,OAAOkB,MAAM,CAAClB,IAAI,KAAK,QAAQ,GAAGkB,MAAM,CAAClB,IAAI,CAACwB,IAAI,CAAC,CAAC,GAAG,EAAE;EACtE,OAAOxB,IAAI,KAAK,EAAE,GAAGA,IAAI,GAAG,WAAWsE,KAAK,GAAG,CAAC,EAAE;AACpD;;AAEA;AACA,OAAO,SAASC,iBAAiBA,CAAC1D,OAAkC,EAAU;EAC5E,MAAM2D,KAAK,GAAG,IAAIrG,GAAG,CAAC0C,OAAO,CAACpC,GAAG,CAAEyC,MAAM,IAAKA,MAAM,CAACnB,EAAE,CAAC,CAAC;EACzD,IAAI0E,CAAC,GAAG,CAAC;EACT,OAAOD,KAAK,CAACnF,GAAG,CAAC,SAASoF,CAAC,EAAE,CAAC,EAAE;IAC9BA,CAAC,IAAI,CAAC;EACR;EACA,OAAO,SAASA,CAAC,EAAE;AACrB;;AAEA;AACA,SAASnB,kBAAkBA,CAAC3D,KAAa,EAAW;EAClD,MAAM2B,KAAK,GAAG1C,kBAAkB,CAAC2C,IAAI,CAAC5B,KAAK,CAAC;EAC5C,OAAO2B,KAAK,KAAK,IAAI,IAAII,MAAM,CAACJ,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAII,MAAM,CAACJ,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG;AAC7E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASoD,kBAAkBA,CAACC,GAAW,EAAEhF,KAAc,EAAW;EAAA,IAAAiF,qBAAA;EACvE,IAAI,OAAOjF,KAAK,KAAK,QAAQ,IAAI,CAAC7B,0BAA0B,CAACsC,IAAI,CAACuE,GAAG,CAAC,EAAE;IACtE,OAAO,KAAK;EACd;EACA,SAAAC,qBAAA,GAAQ7G,oBAAoB,CAAC4G,GAAG,CAAC,qBAAzBC,qBAAA,CAA2BpG,IAAI;IACrC,KAAK,WAAW;MACd,OAAO8E,kBAAkB,CAAC3D,KAAK,CAAC;IAClC,KAAK,QAAQ;MACX,OAAOd,mBAAmB,CAACuB,IAAI,CAACT,KAAK,CAAC;IACxC;MACE,OACEA,KAAK,CAACW,MAAM,IAAIvB,uBAAuB,IACvCD,kBAAkB,CAACsB,IAAI,CAACT,KAAK,CAAC;EAEpC;AACF","ignoreList":[]}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -90,7 +90,7 @@ export { TEMPLATES_CDN_BASE, TEMPLATES_MANIFEST_URL, getTemplateOverride, isTemp
|
|
|
90
90
|
export { mergeClientConfig, type DeepPartial, } from './client/mergeClientConfig';
|
|
91
91
|
export { applyThemeOverrides, themeOverrideDeclarations, THEME_OVERRIDE_TOKENS, type ThemeOverrideKey, type ThemeOverrides, } from './client/applyThemeOverrides';
|
|
92
92
|
export { THEME_TOKEN_CONTRACT, BRAND_TOKENS, EDITABLE_TOKENS, TOKEN_NAME_PATTERN, THEME_OVERRIDE_KEY_PATTERN, bucketOf, hostAliasFor, type TokenBucket, type TokenContractEntry, type TokenType, } from './theme/tokenContract';
|
|
93
|
-
export { SCHEME_COLOR_TOKENS, MAX_THEME_SCHEMES, SCHEME_ANCHOR_TOKENS, SCHEME_TOKENS, completeScheme, isThemeScheme, isSchemeTokenEntry, nextOwnerSchemeId, resolveActiveScheme, schemeDisplayName, schemeTokensOf, type ThemeScheme, type SchemeAnchorToken, type
|
|
93
|
+
export { SCHEME_COLOR_TOKENS, MAX_THEME_SCHEMES, SCHEME_ANCHOR_TOKENS, SCHEME_TOKENS, completeScheme, isThemeScheme, isSchemeTokenEntry, nextOwnerSchemeId, resolveActiveScheme, schemeDisplayName, schemeTokensOf, type ThemeScheme, type SchemeAnchorToken, type SchemeToken, type SchemeOrigin, } from './theme/themeScheme';
|
|
94
94
|
export { WEB5_CHROME_TOKENS, web5ChromeProperties, web5ChromeProperty, type Web5ChromeToken, } from './theme/chromeTokens';
|
|
95
95
|
export { isThemeDebugEnabled, THEME_DEBUG_KEY, THEME_DEBUG_QUERY_PARAM, type AppliedToken, type ThemeOverrideSource, } from './client/themeDebug';
|
|
96
96
|
export { hexToHslTriplet, hslTripletToHex, isHslTriplet, } from './theme/colorFormat';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,7 +27,7 @@ export declare const SCHEME_COLOR_TOKENS: ReadonlySet<string>;
|
|
|
27
27
|
* derived from those two. The panel writes exactly these into the OWNER rows
|
|
28
28
|
* it creates, and mirrors exactly these of the active row into `themeOverrides`.
|
|
29
29
|
*/
|
|
30
|
-
export declare const SCHEME_TOKENS: readonly ["--background", "--foreground", "--popover", "--popover-foreground", "--muted", "--muted-foreground", "--border", "--input"
|
|
30
|
+
export declare const SCHEME_TOKENS: readonly ["--background", "--foreground", "--popover", "--popover-foreground", "--muted", "--muted-foreground", "--border", "--input"];
|
|
31
31
|
export type SchemeToken = (typeof SCHEME_TOKENS)[number];
|
|
32
32
|
/** Only the `SCHEME_TOKENS` entries of `map`. */
|
|
33
33
|
export declare function schemeTokensOf(map: Record<string, string> | null | undefined): Record<string, string>;
|
|
@@ -54,11 +54,6 @@ export declare function resolveActiveScheme(cfg: {
|
|
|
54
54
|
themeSchemes?: unknown;
|
|
55
55
|
activeThemeSchemeId?: string | null;
|
|
56
56
|
} | null | undefined): ThemeScheme | null;
|
|
57
|
-
/** What `completeScheme` needs from outside the scheme. */
|
|
58
|
-
export interface SchemeContext {
|
|
59
|
-
/** The store's button colour, which tints `--secondary`/`--accent`. */
|
|
60
|
-
primary?: string;
|
|
61
|
-
}
|
|
62
57
|
/**
|
|
63
58
|
* The `SCHEME_TOKENS` of a scheme whose anchors the owner just edited.
|
|
64
59
|
*
|
|
@@ -69,10 +64,10 @@ export interface SchemeContext {
|
|
|
69
64
|
* unavailable keeps `base`'s value, if any.
|
|
70
65
|
*
|
|
71
66
|
* Returns ONLY `SCHEME_TOKENS`: whatever else `base` carries (a pre-0243 row's
|
|
72
|
-
* card or
|
|
67
|
+
* card, button or secondary/accent colours, its radius) is the store's global set now, not the
|
|
73
68
|
* scheme's, and is dropped. Every output entry passes `isSchemeTokenEntry`.
|
|
74
69
|
*/
|
|
75
|
-
export declare function completeScheme(base: Record<string, string>, anchors: Partial<Record<SchemeAnchorToken, string
|
|
70
|
+
export declare function completeScheme(base: Record<string, string>, anchors: Partial<Record<SchemeAnchorToken, string>>): Record<string, string>;
|
|
76
71
|
/** The label the panel shows: the trimmed name, else `Palette N` (1-based). */
|
|
77
72
|
export declare function schemeDisplayName(scheme: ThemeScheme, index: number): string;
|
|
78
73
|
/** `owner-N` with the smallest N ≥ 1 not already taken. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"themeScheme.d.ts","sourceRoot":"","sources":["../../../src/theme/themeScheme.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"themeScheme.d.ts","sourceRoot":"","sources":["../../../src/theme/themeScheme.ts"],"names":[],"mappings":"AAgGA,8EAA8E;AAC9E,MAAM,MAAM,YAAY,GAAG,uBAAuB,GAAG,OAAO,GAAG,OAAO,CAAC;AAEvE,yDAAyD;AACzD,MAAM,WAAW,WAAW;IAC1B,2DAA2D;IAC3D,EAAE,EAAE,MAAM,CAAC;IACX,uDAAuD;IACvD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC;IAC/B;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED,qFAAqF;AACrF,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAM5B,CAAC;AA2BzB;;;;GAIG;AACH,eAAO,MAAM,aAAa,wIAShB,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAIzD,iDAAiD;AACjD,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,GAC7C,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAIxB;AAED,2DAA2D;AAC3D,eAAO,MAAM,oBAAoB,2CAA4C,CAAC;AAE9E,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,gDAAgD;AAChD,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAQpC;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAwBlE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EACC;IAAE,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC/D,IAAI,GACJ,SAAS,GACZ,WAAW,GAAG,IAAI,CAcpB;AA+ED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,GAClD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA4DxB;AAED,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAG5E;AAED,2DAA2D;AAC3D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,MAAM,CAO5E;AAQD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAevE"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wix/web5-core",
|
|
3
3
|
"license": "MIT",
|
|
4
|
-
"version": "1.63.
|
|
4
|
+
"version": "1.63.47",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "tsachis",
|
|
7
7
|
"email": "tsachis@wix.com"
|
|
@@ -100,5 +100,5 @@
|
|
|
100
100
|
"wallaby": {
|
|
101
101
|
"autoDetect": true
|
|
102
102
|
},
|
|
103
|
-
"falconPackageHash": "
|
|
103
|
+
"falconPackageHash": "c910709a6ca6193bc52e994eac16e431398c296a748850ae1e75d293"
|
|
104
104
|
}
|