@wix/web5-core 1.63.41 → 1.63.43

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.
Files changed (30) hide show
  1. package/dist/cjs/components/ui/AiDisclosure.js +17 -19
  2. package/dist/cjs/components/ui/AiDisclosure.js.map +1 -1
  3. package/dist/cjs/components/ui/SearchSection.js +44 -36
  4. package/dist/cjs/components/ui/SearchSection.js.map +1 -1
  5. package/dist/cjs/context/SectionRuntimeContext.js +98 -0
  6. package/dist/cjs/context/SectionRuntimeContext.js.map +1 -0
  7. package/dist/cjs/index.js +15 -5
  8. package/dist/cjs/index.js.map +1 -1
  9. package/dist/cjs/lib/assistant.js +58 -0
  10. package/dist/cjs/lib/assistant.js.map +1 -0
  11. package/dist/esm/components/ui/AiDisclosure.js +7 -8
  12. package/dist/esm/components/ui/AiDisclosure.js.map +1 -1
  13. package/dist/esm/components/ui/SearchSection.js +10 -1
  14. package/dist/esm/components/ui/SearchSection.js.map +1 -1
  15. package/dist/esm/context/SectionRuntimeContext.js +74 -0
  16. package/dist/esm/context/SectionRuntimeContext.js.map +1 -0
  17. package/dist/esm/index.js +7 -1
  18. package/dist/esm/index.js.map +1 -1
  19. package/dist/esm/lib/assistant.js +52 -0
  20. package/dist/esm/lib/assistant.js.map +1 -0
  21. package/dist/types/components/ui/AiDisclosure.d.ts +7 -5
  22. package/dist/types/components/ui/AiDisclosure.d.ts.map +1 -1
  23. package/dist/types/components/ui/SearchSection.d.ts.map +1 -1
  24. package/dist/types/context/SectionRuntimeContext.d.ts +50 -0
  25. package/dist/types/context/SectionRuntimeContext.d.ts.map +1 -0
  26. package/dist/types/index.d.ts +4 -1
  27. package/dist/types/index.d.ts.map +1 -1
  28. package/dist/types/lib/assistant.d.ts +39 -0
  29. package/dist/types/lib/assistant.d.ts.map +1 -0
  30. package/package.json +2 -2
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.SectionsRuntimeProvider = exports.SectionRuntimeProvider = void 0;
5
+ exports.useCurrentSectionId = useCurrentSectionId;
6
+ exports.useCurrentSectionOptions = useCurrentSectionOptions;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _FeatureToggleContext = require("../featureToggles/FeatureToggleContext");
9
+ var _jsxFileName = "/home/builduser/work/c2b6ca0b3fa984ee/packages/web5-core/dist/cjs/context/SectionRuntimeContext.tsx";
10
+ /**
11
+ * The per-section runtime: which section a component is rendering inside, and
12
+ * the `componentOptions` bag its registry entry carried.
13
+ *
14
+ * Core already owns the data half. A registration may declare
15
+ * `options.componentOptions`, and the parser copies the matched entry's bag
16
+ * onto `PageSection.componentOptions`. What was missing was the last hop: a
17
+ * section component only receives what `parse()` produced, so the bag and the
18
+ * host's section id had no way to reach it. Each client bundle closed that gap
19
+ * with its own pair of context providers, exported under the `uiSlots` names
20
+ * the host looked up — three near-identical copies, none of them type-checked
21
+ * against what the host actually passed.
22
+ *
23
+ * Owning it here lets the host mount the providers by direct import, next to
24
+ * `ImageSlotProvider`, so every client gets them without exporting anything.
25
+ * Client bundles externalise core to the host's `Web5Core` global, so a hook
26
+ * called inside a client component reads the very context the host mounted.
27
+ */
28
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
29
+ const SectionOptionsPlanContext = /*#__PURE__*/(0, _react.createContext)({});
30
+ const CurrentSectionIdContext = /*#__PURE__*/(0, _react.createContext)(null);
31
+ /**
32
+ * Mounted once around the page by the host. Also mounts the feature-toggle
33
+ * reader: the client copies this replaces did so, and a client section that
34
+ * reads a toggle must keep working after it drops its own provider.
35
+ */
36
+ const SectionsRuntimeProvider = ({
37
+ sections,
38
+ featureToggles,
39
+ children
40
+ }) => {
41
+ const plan = (0, _react.useMemo)(() => sections.reduce((acc, section) => {
42
+ if (section.componentOptions) {
43
+ acc[section.id] = section.componentOptions;
44
+ }
45
+ return acc;
46
+ }, {}), [sections]);
47
+ return /*#__PURE__*/_react.default.createElement(_FeatureToggleContext.FeatureToggleProvider, {
48
+ featureToggles: featureToggles,
49
+ __self: void 0,
50
+ __source: {
51
+ fileName: _jsxFileName,
52
+ lineNumber: 72,
53
+ columnNumber: 5
54
+ }
55
+ }, /*#__PURE__*/_react.default.createElement(SectionOptionsPlanContext.Provider, {
56
+ value: plan,
57
+ __self: void 0,
58
+ __source: {
59
+ fileName: _jsxFileName,
60
+ lineNumber: 73,
61
+ columnNumber: 7
62
+ }
63
+ }, children));
64
+ };
65
+ exports.SectionsRuntimeProvider = SectionsRuntimeProvider;
66
+ /** Mounted once per section by the host's section wrapper. */
67
+ const SectionRuntimeProvider = ({
68
+ sectionId,
69
+ children
70
+ }) => /*#__PURE__*/_react.default.createElement(CurrentSectionIdContext.Provider, {
71
+ value: sectionId,
72
+ __self: void 0,
73
+ __source: {
74
+ fileName: _jsxFileName,
75
+ lineNumber: 88,
76
+ columnNumber: 3
77
+ }
78
+ }, children);
79
+
80
+ /**
81
+ * The `componentOptions` of the registry entry that produced the enclosing
82
+ * section, or `undefined` outside a section or when the entry declared none.
83
+ */
84
+ exports.SectionRuntimeProvider = SectionRuntimeProvider;
85
+ function useCurrentSectionOptions() {
86
+ const plan = (0, _react.useContext)(SectionOptionsPlanContext);
87
+ const sectionId = (0, _react.useContext)(CurrentSectionIdContext);
88
+ if (!sectionId) {
89
+ return undefined;
90
+ }
91
+ return plan[sectionId];
92
+ }
93
+
94
+ /** The host's id for the enclosing section; `null` outside a section. */
95
+ function useCurrentSectionId() {
96
+ return (0, _react.useContext)(CurrentSectionIdContext);
97
+ }
98
+ //# sourceMappingURL=SectionRuntimeContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_FeatureToggleContext","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SectionOptionsPlanContext","createContext","CurrentSectionIdContext","SectionsRuntimeProvider","sections","featureToggles","children","plan","useMemo","reduce","acc","section","componentOptions","id","createElement","FeatureToggleProvider","__self","__source","fileName","lineNumber","columnNumber","Provider","value","exports","SectionRuntimeProvider","sectionId","useCurrentSectionOptions","useContext","undefined","useCurrentSectionId"],"sources":["../../../src/context/SectionRuntimeContext.tsx"],"sourcesContent":["/**\n * The per-section runtime: which section a component is rendering inside, and\n * the `componentOptions` bag its registry entry carried.\n *\n * Core already owns the data half. A registration may declare\n * `options.componentOptions`, and the parser copies the matched entry's bag\n * onto `PageSection.componentOptions`. What was missing was the last hop: a\n * section component only receives what `parse()` produced, so the bag and the\n * host's section id had no way to reach it. Each client bundle closed that gap\n * with its own pair of context providers, exported under the `uiSlots` names\n * the host looked up — three near-identical copies, none of them type-checked\n * against what the host actually passed.\n *\n * Owning it here lets the host mount the providers by direct import, next to\n * `ImageSlotProvider`, so every client gets them without exporting anything.\n * Client bundles externalise core to the host's `Web5Core` global, so a hook\n * called inside a client component reads the very context the host mounted.\n */\nimport React, {\n createContext,\n useContext,\n useMemo,\n type FC,\n type PropsWithChildren,\n} from 'react';\nimport {\n FeatureToggleProvider,\n type EmbedFeatureToggleResult,\n} from '../featureToggles/FeatureToggleContext';\nimport type { PageSection } from '../types/page-section';\n\nexport interface RuntimeSection {\n id: string;\n sectionType?: string;\n componentOptions?: PageSection['componentOptions'];\n}\n\ntype SectionOptionsPlan = Record<\n string,\n NonNullable<PageSection['componentOptions']>\n>;\n\nconst SectionOptionsPlanContext = createContext<SectionOptionsPlan>({});\nconst CurrentSectionIdContext = createContext<string | null>(null);\n\nexport interface SectionsRuntimeProviderProps {\n /** Every section on the page, in order. */\n sections: RuntimeSection[];\n featureToggles?: Record<string, EmbedFeatureToggleResult>;\n}\n\n/**\n * Mounted once around the page by the host. Also mounts the feature-toggle\n * reader: the client copies this replaces did so, and a client section that\n * reads a toggle must keep working after it drops its own provider.\n */\nexport const SectionsRuntimeProvider: FC<\n PropsWithChildren<SectionsRuntimeProviderProps>\n> = ({ sections, featureToggles, children }) => {\n const plan = useMemo(\n () =>\n sections.reduce<SectionOptionsPlan>((acc, section) => {\n if (section.componentOptions) {\n acc[section.id] = section.componentOptions;\n }\n return acc;\n }, {}),\n [sections],\n );\n\n return (\n <FeatureToggleProvider featureToggles={featureToggles}>\n <SectionOptionsPlanContext.Provider value={plan}>\n {children}\n </SectionOptionsPlanContext.Provider>\n </FeatureToggleProvider>\n );\n};\n\nexport interface SectionRuntimeProviderProps {\n sectionId: string;\n}\n\n/** Mounted once per section by the host's section wrapper. */\nexport const SectionRuntimeProvider: FC<\n PropsWithChildren<SectionRuntimeProviderProps>\n> = ({ sectionId, children }) => (\n <CurrentSectionIdContext.Provider value={sectionId}>\n {children}\n </CurrentSectionIdContext.Provider>\n);\n\n/**\n * The `componentOptions` of the registry entry that produced the enclosing\n * section, or `undefined` outside a section or when the entry declared none.\n */\nexport function useCurrentSectionOptions<\n T = NonNullable<PageSection['componentOptions']>,\n>(): T | undefined {\n const plan = useContext(SectionOptionsPlanContext);\n const sectionId = useContext(CurrentSectionIdContext);\n\n if (!sectionId) {\n return undefined;\n }\n\n return plan[sectionId] as T | undefined;\n}\n\n/** The host's id for the enclosing section; `null` outside a section. */\nexport function useCurrentSectionId(): string | null {\n return useContext(CurrentSectionIdContext);\n}\n"],"mappings":"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","ignoreList":[]}
package/dist/cjs/index.js CHANGED
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.WEB5_REDIRECT_EVENT = exports.WEB5_GLOBAL_TOKENS = exports.WEB5_ANSWER_UPDATED_EVENT = exports.WEB5_ANSWER_SETTLED_EVENT = exports.UserQueryProvider = exports.UserQuery = exports.UnifiedMarkdownParser = exports.UnifiedLink = exports.UNKNOWN_CONSENT = exports.TextBlockSectionDefinition = exports.TableRow = exports.TableHeader = exports.TableHead = exports.TableFooter = exports.TableCell = exports.TableCaption = exports.TableBody = exports.Table = exports.TOKEN_NAME_PATTERN = exports.THEME_TOKEN_CONTRACT = exports.THEME_OVERRIDE_TOKENS = exports.THEME_DEBUG_QUERY_PARAM = exports.THEME_DEBUG_KEY = exports.TEMPLATES_MANIFEST_URL = exports.TEMPLATES_CDN_BASE = exports.SmartIcon = exports.SkipNodesSectionDefinition = exports.ShopifyStorefrontClient = exports.SectionSkeleton = exports.SearchSectionDefinition = exports.SearchSection = exports.STREAMING_TIMEOUT_MS = exports.REFRESH_PROMPTS_WINDOW_MS = exports.REFRESH_PROMPTS_UNTIL_KEY = exports.PromptEntryEmptyState = exports.PoweredByBadge = exports.PlacementSmoothHeight = exports.PlacementResponseRenderer = exports.PlacementPayloadProvider = exports.PlacementLoader = exports.PRODUCT_BY_HANDLE_QUERY = exports.PRODUCT_BACK_SESSION_KEY = exports.PLATFORM_ENTITY_TYPES = exports.OptimizedImage = exports.NextStepsSectionDefinition = exports.MetricsSectionDefinition = exports.MarkdownText = exports.MATCH_DEBUG_QUERY_PARAM = exports.MATCH_DEBUG_KEY = exports.Loader = exports.ListItemsSectionDefinition = exports.LinkType = exports.LIST_ITEMS_ENDPOINT = exports.KpiSectionDefinition = exports.ImageSlotProvider = exports.ImageSearchFilterToken = exports.HtmlCommentSectionDefinition = exports.HeroSectionDefinition = exports.HeroEntitySectionDefinition = exports.HOST_CONSENT_GLOBAL = exports.FeedbackBar = exports.FeatureToggleProvider = exports.FeatureSection9PlusDefinition = exports.FeatureCardsSectionDefinition = exports.FallbackSectionDefinition = exports.ErrorSectionDefinition = exports.EntitySectionDefinition = exports.EntityCollectionSectionDefinition = exports.EXPERIMENT_IDS = exports.ERROR_MARKDOWN = exports.EDITABLE_TOKENS = exports.DiagnosticsCollector = exports.DROP_SECTION = exports.DIAGNOSTIC_TYPES = exports.DEFAULT_POWERED_BY_HREF = exports.DEFAULT_ERROR_TEMPLATES = exports.DEFAULT_BACKEND_ENVIRONMENT = exports.DEFAULT_AI_DISCLOSURE_TEXT = exports.CtaBannerSectionDefinition = exports.ComponentTracking = exports.ComponentRegistry = exports.ComponentDependenciesProvider = exports.ComparisonSectionDefinition = exports.ChipsProvider = exports.CalloutSectionDefinition = exports.CalloutBlock = exports.CONSENT_OVERRIDE_QUERY_PARAM = exports.CONSENT_OVERRIDE_KEY = exports.COLLECTION_BY_HANDLE_QUERY = exports.CLIENT_IDS = exports.CALLOUT_SEMANTICS = exports.CALLOUT_KINDS = exports.BottomContainer = exports.BRAND_TOKENS = exports.BACKEND_ENVIRONMENT_QUERY_PARAM = exports.BACKEND_ENVIRONMENT_KEY = exports.AiIcon = exports.AiDisclosure = exports.ASSISTANT_TOKEN = exports.ARTICLE_BY_HANDLE_QUERY = void 0;
5
- exports.isMatchDebugEnabled = exports.isLegacyUrl = exports.isHtmlComment = exports.isHslTriplet = exports.isEntityLink = exports.isDocumentFamilyEntityType = exports.installConsentProvider = exports.initConsentGate = exports.hslTripletToHex = exports.hslToRgb = exports.hostAliasFor = exports.hexToHslTriplet = exports.hasImage = exports.hasHostSuppliedConsent = exports.hasAnalyticsConsent = exports.getTemplateOverride = exports.getSessionId = exports.getResizedImageUrl = exports.getRefreshPromptsExpiry = exports.getPartsByType = exports.getPartByRole = exports.getOrCreateSessionId = exports.getLinks = exports.getIntentFromMarkdown = exports.getInstalledProviderName = exports.getImages = exports.getHeading = exports.getGateView = exports.getForwardStack = exports.getErrorTypeFromStatus = exports.getEntityExtractor = exports.getContextualImageFilename = exports.getConsentSnapshot = exports.getConsentOverride = exports.getConsentGateStats = exports.getClientBundleOverride = exports.getChatId = exports.getBackendEnvironment = exports.getAllByRole = exports.generateSectionId = exports.generateId = exports.formatProductPriceLabel = exports.formatPriceField = exports.formatMoney = exports.fixMalformedLinks = exports.findKeywordsInContent = exports.findInvalidWeb5Links = exports.findImageInNode = exports.findImageInChildren = exports.fetchProductsByHandlesMap = exports.fetchProductsByHandles = exports.fetchEntityListData = exports.extractProtocol = exports.extractLinkMetadata = exports.extractIntentFromMarkdown = exports.extractContentMarkdown = exports.extractContent = exports.escapeWeb5Links = exports.entityPayloadFromItems = exports.entityHref = exports.ensureMinLightness = exports.enrichEntitiesFromPayload = exports.enableRefreshPrompts = exports.disableRefreshPrompts = exports.detectLinkType = exports.detectConsentProvider = exports.deriveRole = exports.deriveLightColor = exports.deriveDarkGradient = exports.deriveDarkColor = exports.defaultExtractor = exports.decodeLinkText = exports.createWixAuthFetch = exports.createShopifyConsentProvider = exports.createSdkRegistry = exports.createPageSection = exports.createOneTrustConsentProvider = exports.createHostSuppliedConsentProvider = exports.createFeatureToggleReader = exports.createErrorMarkdown = exports.convertToBlockElementsWithMapping = exports.convertToBlockElements = exports.computeContentBBox = exports.composeSemantic = exports.cn = exports.clearForwardStack = exports.buildProbeUrl = exports.buildPlacementDependencies = exports.buildImageSearchFilter = exports.bucketOf = exports.backgroundFilter = exports.applyThemeOverrides = exports.analyzeBackdrop = exports.addToCart = exports.Web5UrlType = exports.WEB5_USER_QUERY_EVENT = exports.WEB5_SCOPES = exports.WEB5_SCOPE = exports.WEB5_ROOT_ID = exports.WEB5_ROOT_CLASS = void 0;
6
- exports.useResolveSearchSpringEntityData = exports.useResolveGenericEntityData = exports.usePlacementPayload = exports.useMarkdownUtils = exports.useImageSlotCollector = exports.useImageSlot = exports.useFeatureToggles = exports.useFeatureToggle = exports.useEntityTransforms = exports.useDebugImageContext = exports.useConversation = exports.useComponentDependencies = exports.useChips = exports.unlockOnUserAction = exports.tryParseComponent = exports.trimTrailingWhitespace = exports.transmit = exports.transformToSolutionEntityData = exports.transformToGenericEntityData = exports.transformToBlogPostEntityData = exports.transformShopifyProduct = exports.transformShopifyEntityToItemData = exports.transformShopifyCollection = exports.transformShopifyArticle = exports.transformSSProductToEntityItemData = exports.toRgb = exports.toMatchedOptions = exports.toCatalogPath = exports.subscribeToConsent = exports.stripMarkdown = exports.startNewChatId = exports.shouldRefreshPrompts = exports.setMatchDebug = exports.setForwardStack = exports.setConsentOverride = exports.setConsentBufferLimit = exports.setChatId = exports.setBackendEnvironment = exports.rgbToHsl = exports.resolveShopifyEntity = exports.resolveShopifyConfig = exports.resolveErrorTemplate = exports.resolveEntityTypeConfig = exports.resolveClientBundleUrl = exports.resetMatchDebugCache = exports.resetConsentGateForTests = exports.resetChatIdForTests = exports.registerEntityExtractor = exports.readProductBackHandoff = exports.readCurrencyCode = exports.pushToForwardStack = exports.pushPromptSubmit = exports.pushLinkClick = exports.pushExit = exports.pushEvent = exports.pushError = exports.pushEntityFiltered = exports.publishHostConsent = exports.preprocessMarkdown = exports.popFromForwardStack = exports.parseWeb5Url = exports.parseMarkdownToComponents = exports.parseMarkdownToAst = exports.parseEntityLink = exports.parseAstToMarkdown = exports.normalizeImageUrl = exports.normalizeIconUrls = exports.normalizeEntityItem = exports.nodesToParts = exports.mergeSectionsWithStableReferences = exports.mergeEntityData = exports.mergeClientConfig = exports.mayTransmit = exports.mayPersistIdentity = exports.matchMarkdown = exports.matchAllSections = exports.logMatchDebug = exports.loadImagePixels = exports.loadClientBundle = exports.loadBackdropAnalysis = exports.listEntityItems = exports.isWeb5Url = exports.isWeb5SearchUrl = exports.isWeb5ImageUrl = exports.isWeb5IconUrl = exports.isWeb5EntityUrl = exports.isWeb5AskUrl = exports.isWeb5ActionUrl = exports.isValidWeb5Url = exports.isValidTemplateId = exports.isValidLinkUrl = exports.isUserEngaged = exports.isTrustedBundleHost = exports.isThemeDebugEnabled = exports.isTemplatePickerRequested = exports.isSimulationTraffic = exports.isShopifyHost = exports.isProductFamilyEntityType = exports.isOneTrustHost = exports.isNavigableUrl = void 0;
7
- exports.writeProductBackHandoff = exports.validatePatternWithBlocks = exports.validatePatternSyntax = exports.validatePattern = exports.validateLinkUrl = exports.usesStagingBackend = exports.useWeb5Link = exports.useUserQuery = exports.useResolvedImageSources = exports.useResolveShopifyEntityData = void 0;
4
+ exports.UserQueryProvider = exports.UserQuery = exports.UnifiedMarkdownParser = exports.UnifiedLink = exports.UNKNOWN_CONSENT = exports.UNBRANDED_ASSISTANT_NAME = exports.TextBlockSectionDefinition = exports.TableRow = exports.TableHeader = exports.TableHead = exports.TableFooter = exports.TableCell = exports.TableCaption = exports.TableBody = exports.Table = exports.TOKEN_NAME_PATTERN = exports.THEME_TOKEN_CONTRACT = exports.THEME_OVERRIDE_TOKENS = exports.THEME_DEBUG_QUERY_PARAM = exports.THEME_DEBUG_KEY = exports.TEMPLATES_MANIFEST_URL = exports.TEMPLATES_CDN_BASE = exports.SmartIcon = exports.SkipNodesSectionDefinition = exports.ShopifyStorefrontClient = exports.SectionsRuntimeProvider = exports.SectionSkeleton = exports.SectionRuntimeProvider = exports.SearchSectionDefinition = exports.SearchSection = exports.STREAMING_TIMEOUT_MS = exports.REFRESH_PROMPTS_WINDOW_MS = exports.REFRESH_PROMPTS_UNTIL_KEY = exports.PromptEntryEmptyState = exports.PoweredByBadge = exports.PlacementSmoothHeight = exports.PlacementResponseRenderer = exports.PlacementPayloadProvider = exports.PlacementLoader = exports.PRODUCT_BY_HANDLE_QUERY = exports.PRODUCT_BACK_SESSION_KEY = exports.PLATFORM_ENTITY_TYPES = exports.OptimizedImage = exports.NextStepsSectionDefinition = exports.MetricsSectionDefinition = exports.MarkdownText = exports.MATCH_DEBUG_QUERY_PARAM = exports.MATCH_DEBUG_KEY = exports.Loader = exports.ListItemsSectionDefinition = exports.LinkType = exports.LIST_ITEMS_ENDPOINT = exports.KpiSectionDefinition = exports.ImageSlotProvider = exports.ImageSearchFilterToken = exports.HtmlCommentSectionDefinition = exports.HeroSectionDefinition = exports.HeroEntitySectionDefinition = exports.HOST_CONSENT_GLOBAL = exports.FeedbackBar = exports.FeatureToggleProvider = exports.FeatureSection9PlusDefinition = exports.FeatureCardsSectionDefinition = exports.FallbackSectionDefinition = exports.ErrorSectionDefinition = exports.EntitySectionDefinition = exports.EntityCollectionSectionDefinition = exports.EXPERIMENT_IDS = exports.ERROR_MARKDOWN = exports.EDITABLE_TOKENS = exports.DiagnosticsCollector = exports.DROP_SECTION = exports.DIAGNOSTIC_TYPES = exports.DEFAULT_PROMPT_PLACEHOLDER = exports.DEFAULT_POWERED_BY_HREF = exports.DEFAULT_ERROR_TEMPLATES = exports.DEFAULT_BACKEND_ENVIRONMENT = exports.DEFAULT_AI_DISCLOSURE_TEXT = exports.CtaBannerSectionDefinition = exports.ComponentTracking = exports.ComponentRegistry = exports.ComponentDependenciesProvider = exports.ComparisonSectionDefinition = exports.ChipsProvider = exports.CalloutSectionDefinition = exports.CalloutBlock = exports.CONSENT_OVERRIDE_QUERY_PARAM = exports.CONSENT_OVERRIDE_KEY = exports.COLLECTION_BY_HANDLE_QUERY = exports.CLIENT_IDS = exports.CALLOUT_SEMANTICS = exports.CALLOUT_KINDS = exports.BottomContainer = exports.BRAND_TOKENS = exports.BACKEND_ENVIRONMENT_QUERY_PARAM = exports.BACKEND_ENVIRONMENT_KEY = exports.AiIcon = exports.AiDisclosure = exports.ASSISTANT_TOKEN = exports.ARTICLE_BY_HANDLE_QUERY = void 0;
5
+ exports.isDocumentFamilyEntityType = exports.installConsentProvider = exports.initConsentGate = exports.hslTripletToHex = exports.hslToRgb = exports.hostAliasFor = exports.hexToHslTriplet = exports.hasImage = exports.hasHostSuppliedConsent = exports.hasAnalyticsConsent = exports.getTemplateOverride = exports.getSessionId = exports.getResizedImageUrl = exports.getRefreshPromptsExpiry = exports.getPartsByType = exports.getPartByRole = exports.getOrCreateSessionId = exports.getLinks = exports.getIntentFromMarkdown = exports.getInstalledProviderName = exports.getImages = exports.getHeading = exports.getGateView = exports.getForwardStack = exports.getErrorTypeFromStatus = exports.getEntityExtractor = exports.getContextualImageFilename = exports.getConsentSnapshot = exports.getConsentOverride = exports.getConsentGateStats = exports.getClientBundleOverride = exports.getChatId = exports.getBackendEnvironment = exports.getAllByRole = exports.generateSectionId = exports.generateId = exports.formatProductPriceLabel = exports.formatPriceField = exports.formatMoney = exports.fixMalformedLinks = exports.findKeywordsInContent = exports.findInvalidWeb5Links = exports.findImageInNode = exports.findImageInChildren = exports.fetchProductsByHandlesMap = exports.fetchProductsByHandles = exports.fetchEntityListData = exports.extractProtocol = exports.extractLinkMetadata = exports.extractIntentFromMarkdown = exports.extractContentMarkdown = exports.extractContent = exports.escapeWeb5Links = exports.entityPayloadFromItems = exports.entityHref = exports.ensureMinLightness = exports.enrichEntitiesFromPayload = exports.enableRefreshPrompts = exports.disableRefreshPrompts = exports.detectLinkType = exports.detectConsentProvider = exports.deriveRole = exports.deriveLightColor = exports.deriveDarkGradient = exports.deriveDarkColor = exports.defaultExtractor = exports.decodeLinkText = exports.createWixAuthFetch = exports.createShopifyConsentProvider = exports.createSdkRegistry = exports.createPageSection = exports.createOneTrustConsentProvider = exports.createHostSuppliedConsentProvider = exports.createFeatureToggleReader = exports.createErrorMarkdown = exports.convertToBlockElementsWithMapping = exports.convertToBlockElements = exports.computeContentBBox = exports.composeSemantic = exports.cn = exports.clearForwardStack = exports.buildProbeUrl = exports.buildPlacementDependencies = exports.buildImageSearchFilter = exports.bucketOf = exports.backgroundFilter = exports.assistantName = exports.applyThemeOverrides = exports.analyzeBackdrop = exports.addToCart = exports.Web5UrlType = exports.WEB5_USER_QUERY_EVENT = exports.WEB5_SCOPES = exports.WEB5_SCOPE = exports.WEB5_ROOT_ID = exports.WEB5_ROOT_CLASS = exports.WEB5_REDIRECT_EVENT = exports.WEB5_GLOBAL_TOKENS = exports.WEB5_ANSWER_UPDATED_EVENT = exports.WEB5_ANSWER_SETTLED_EVENT = void 0;
6
+ exports.useEntityTransforms = exports.useDebugImageContext = exports.useCurrentSectionOptions = exports.useCurrentSectionId = exports.useConversation = exports.useComponentDependencies = exports.useChips = exports.unlockOnUserAction = exports.tryParseComponent = exports.trimTrailingWhitespace = exports.transmit = exports.transformToSolutionEntityData = exports.transformToGenericEntityData = exports.transformToBlogPostEntityData = exports.transformShopifyProduct = exports.transformShopifyEntityToItemData = exports.transformShopifyCollection = exports.transformShopifyArticle = exports.transformSSProductToEntityItemData = exports.toRgb = exports.toMatchedOptions = exports.toCatalogPath = exports.subscribeToConsent = exports.stripMarkdown = exports.startNewChatId = exports.shouldRefreshPrompts = exports.setMatchDebug = exports.setForwardStack = exports.setConsentOverride = exports.setConsentBufferLimit = exports.setChatId = exports.setBackendEnvironment = exports.rgbToHsl = exports.resolveShopifyEntity = exports.resolveShopifyConfig = exports.resolveErrorTemplate = exports.resolveEntityTypeConfig = exports.resolveClientBundleUrl = exports.resolveAssistantPlaceholder = exports.resetMatchDebugCache = exports.resetConsentGateForTests = exports.resetChatIdForTests = exports.registerEntityExtractor = exports.readProductBackHandoff = exports.readCurrencyCode = exports.pushToForwardStack = exports.pushPromptSubmit = exports.pushLinkClick = exports.pushExit = exports.pushEvent = exports.pushError = exports.pushEntityFiltered = exports.publishHostConsent = exports.preprocessMarkdown = exports.popFromForwardStack = exports.parseWeb5Url = exports.parseMarkdownToComponents = exports.parseMarkdownToAst = exports.parseEntityLink = exports.parseAstToMarkdown = exports.normalizeImageUrl = exports.normalizeIconUrls = exports.normalizeEntityItem = exports.nodesToParts = exports.mergeSectionsWithStableReferences = exports.mergeEntityData = exports.mergeClientConfig = exports.mayTransmit = exports.mayPersistIdentity = exports.matchMarkdown = exports.matchAllSections = exports.logMatchDebug = exports.loadImagePixels = exports.loadClientBundle = exports.loadBackdropAnalysis = exports.listEntityItems = exports.isWeb5Url = exports.isWeb5SearchUrl = exports.isWeb5ImageUrl = exports.isWeb5IconUrl = exports.isWeb5EntityUrl = exports.isWeb5AskUrl = exports.isWeb5ActionUrl = exports.isValidWeb5Url = exports.isValidTemplateId = exports.isValidLinkUrl = exports.isUserEngaged = exports.isTrustedBundleHost = exports.isThemeDebugEnabled = exports.isTemplatePickerRequested = exports.isSimulationTraffic = exports.isShopifyHost = exports.isProductFamilyEntityType = exports.isOneTrustHost = exports.isNavigableUrl = exports.isMatchDebugEnabled = exports.isLegacyUrl = exports.isHtmlComment = exports.isHslTriplet = exports.isEntityLink = void 0;
7
+ exports.writeProductBackHandoff = exports.validatePatternWithBlocks = exports.validatePatternSyntax = exports.validatePattern = exports.validateLinkUrl = exports.usesStagingBackend = exports.useWeb5Link = exports.useUserQuery = exports.useResolvedImageSources = exports.useResolveShopifyEntityData = exports.useResolveSearchSpringEntityData = exports.useResolveGenericEntityData = exports.usePlacementPayload = exports.useMarkdownUtils = exports.useImageSlotCollector = exports.useImageSlot = exports.useFeatureToggles = exports.useFeatureToggle = void 0;
8
8
  var _clients = require("./clients");
9
9
  exports.CLIENT_IDS = _clients.CLIENT_IDS;
10
10
  exports.EXPERIMENT_IDS = _clients.EXPERIMENT_IDS;
@@ -141,6 +141,11 @@ exports.useImageSlot = _useImageSlot.useImageSlot;
141
141
  var _ImageSlotContext = require("./context/ImageSlotContext");
142
142
  exports.ImageSlotProvider = _ImageSlotContext.ImageSlotProvider;
143
143
  exports.useImageSlotCollector = _ImageSlotContext.useImageSlotCollector;
144
+ var _SectionRuntimeContext = require("./context/SectionRuntimeContext");
145
+ exports.SectionsRuntimeProvider = _SectionRuntimeContext.SectionsRuntimeProvider;
146
+ exports.SectionRuntimeProvider = _SectionRuntimeContext.SectionRuntimeProvider;
147
+ exports.useCurrentSectionOptions = _SectionRuntimeContext.useCurrentSectionOptions;
148
+ exports.useCurrentSectionId = _SectionRuntimeContext.useCurrentSectionId;
144
149
  var _composeSemantic = require("./image/composeSemantic");
145
150
  exports.composeSemantic = _composeSemantic.composeSemantic;
146
151
  var _useResolveGenericEntityData = require("./hooks/useResolveGenericEntityData");
@@ -255,8 +260,13 @@ var _FeedbackBar = require("./components/ui/FeedbackBar");
255
260
  exports.FeedbackBar = _FeedbackBar.FeedbackBar;
256
261
  var _AiDisclosure = require("./components/ui/AiDisclosure");
257
262
  exports.AiDisclosure = _AiDisclosure.AiDisclosure;
258
- exports.ASSISTANT_TOKEN = _AiDisclosure.ASSISTANT_TOKEN;
259
263
  exports.DEFAULT_AI_DISCLOSURE_TEXT = _AiDisclosure.DEFAULT_AI_DISCLOSURE_TEXT;
264
+ var _assistant = require("./lib/assistant");
265
+ exports.ASSISTANT_TOKEN = _assistant.ASSISTANT_TOKEN;
266
+ exports.UNBRANDED_ASSISTANT_NAME = _assistant.UNBRANDED_ASSISTANT_NAME;
267
+ exports.DEFAULT_PROMPT_PLACEHOLDER = _assistant.DEFAULT_PROMPT_PLACEHOLDER;
268
+ exports.assistantName = _assistant.assistantName;
269
+ exports.resolveAssistantPlaceholder = _assistant.resolveAssistantPlaceholder;
260
270
  var _AiIcon = require("./components/ui/icons/AiIcon");
261
271
  exports.AiIcon = _AiIcon.AiIcon;
262
272
  var _PoweredByBadge = require("./components/ui/PoweredByBadge");
@@ -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","_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","hasAnalyticsConsent","_privacy","UNKNOWN_CONSENT","HOST_CONSENT_GLOBAL","transmit","mayTransmit","unlockOnUserAction","isUserEngaged","mayPersistIdentity","getConsentSnapshot","getGateView","subscribeToConsent","installConsentProvider","getInstalledProviderName","setConsentBufferLimit","getConsentGateStats","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","ASSISTANT_TOKEN","DEFAULT_AI_DISCLOSURE_TEXT","_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","THEME_OVERRIDE_TOKENS","_tokenContract","THEME_TOKEN_CONTRACT","BRAND_TOKENS","EDITABLE_TOKENS","TOKEN_NAME_PATTERN","bucketOf","hostAliasFor","_themeDebug","isThemeDebugEnabled","THEME_DEBUG_KEY","THEME_DEBUG_QUERY_PARAM","_colorFormat","hexToHslTriplet","hslTripletToHex","isHslTriplet","_PlacementResponseRenderer","PlacementResponseRenderer","PlacementSmoothHeight","_buildPlacementDependencies","buildPlacementDependencies","_PlacementPayloadContext","PlacementPayloadProvider","usePlacementPayload","_unifiedMarkdownParser","UnifiedMarkdownParser","parseMarkdownToAst","parseAstToMarkdown","_markdownPreprocessor","escapeWeb5Links","fixMalformedLinks","trimTrailingWhitespace","normalizeIconUrls","decodeLinkText","preprocessMarkdown","_componentTracking","ComponentTracking","_contentKeywordMatcher","findKeywordsInContent","getContextualImageFilename","_intentExtractor","extractIntentFromMarkdown","getIntentFromMarkdown","_propsExtractor","createPageSection","generateSectionId","generateId","findImageInNode","findImageInChildren","_diagnosticsCollector","DiagnosticsCollector","_refreshPrompts","REFRESH_PROMPTS_UNTIL_KEY","REFRESH_PROMPTS_WINDOW_MS","getRefreshPromptsExpiry","shouldRefreshPrompts","enableRefreshPrompts","disableRefreshPrompts","_backendEnvironment","BACKEND_ENVIRONMENT_KEY","BACKEND_ENVIRONMENT_QUERY_PARAM","DEFAULT_BACKEND_ENVIRONMENT","getBackendEnvironment","setBackendEnvironment","usesStagingBackend","_simulation","isSimulationTraffic","_matchDebug","MATCH_DEBUG_KEY","MATCH_DEBUG_QUERY_PARAM","isMatchDebugEnabled","setMatchDebug","resetMatchDebugCache","logMatchDebug","_wixAuthFetch","createWixAuthFetch","_sessionManager","getOrCreateSessionId","getSessionId","getChatId","startNewChatId","setChatId","resetChatIdForTests","_componentParser","parseMarkdownToComponents","tryParseComponent","mergeSectionsWithStableReferences","_hostScope","WEB5_ROOT_ID","WEB5_ROOT_CLASS","WEB5_SCOPES","WEB5_SCOPE","WEB5_GLOBAL_TOKENS"],"sources":["../../src/index.ts"],"sourcesContent":["// Client IDs and experiment IDs\nexport { CLIENT_IDS, EXPERIMENT_IDS } from './clients';\n\nexport {\n type EmbedFeatureToggleResult,\n type FeatureToggleReader,\n createFeatureToggleReader,\n FeatureToggleProvider,\n useFeatureToggles,\n useFeatureToggle,\n} from './featureToggles/FeatureToggleContext';\n\n// Dev-only chrome injection contract for client packages\nexport type { DevEnvironment } from './client/devEnvironment';\n\n// Part types and helpers\nexport {\n type PartType,\n type Part,\n type HeadingPart,\n type ImagePart,\n type LinkPart,\n type ListPart,\n type ListItemPart,\n type KpiItemPart,\n type CardPart,\n type IconPart,\n type CalloutPart,\n type EntityPart,\n getPartsByType,\n getPartByRole,\n getAllByRole,\n getHeading,\n getImages,\n getLinks,\n extractContent,\n extractContentMarkdown,\n deriveRole,\n} from './parts/parts';\n\n// Component types\nexport type {\n BaseCompProps,\n SlotCompProps,\n SectionCompProps,\n SectionCompPropsWithSlot,\n TextCompProps,\n ButtonCompProps,\n ImageCompProps,\n BadgeCompProps,\n HeroButton,\n KpiItemCompProps,\n FeatureItemCompProps,\n FeatureCardCompProps,\n EntityItemData,\n EntityItem,\n GenericEntityData,\n GenericEntityCompProps,\n ComparisonRow,\n ComparisonColumn,\n AiNarrativeCompProps,\n HeroCompProps,\n HeroEntityCompProps,\n KpiCompProps,\n 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 {\n UseImageSlotOptions,\n ResolvedImage,\n} from './hooks/useImageSlot';\nexport {\n ImageSlotProvider,\n useImageSlotCollector,\n} from './context/ImageSlotContext';\nexport type {\n ImageSlotCollector,\n ImageSlotProviderProps,\n} from './context/ImageSlotContext';\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 hasAnalyticsConsent,\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 GateView,\n type HostConsentInput,\n UNKNOWN_CONSENT,\n HOST_CONSENT_GLOBAL,\n transmit,\n mayTransmit,\n unlockOnUserAction,\n isUserEngaged,\n mayPersistIdentity,\n getConsentSnapshot,\n getGateView,\n subscribeToConsent,\n installConsentProvider,\n getInstalledProviderName,\n setConsentBufferLimit,\n getConsentGateStats,\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 ASSISTANT_TOKEN,\n DEFAULT_AI_DISCLOSURE_TEXT,\n type AiDisclosureProps,\n} from './components/ui/AiDisclosure';\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 THEME_OVERRIDE_TOKENS,\n type ThemeOverrideKey,\n type ThemeOverrides,\n} from './client/applyThemeOverrides';\nexport {\n THEME_TOKEN_CONTRACT,\n BRAND_TOKENS,\n EDITABLE_TOKENS,\n TOKEN_NAME_PATTERN,\n bucketOf,\n hostAliasFor,\n type TokenBucket,\n type TokenContractEntry,\n type TokenType,\n} from './theme/tokenContract';\nexport {\n isThemeDebugEnabled,\n THEME_DEBUG_KEY,\n THEME_DEBUG_QUERY_PARAM,\n type AppliedToken,\n type ThemeOverrideSource,\n} from './client/themeDebug';\nexport {\n hexToHslTriplet,\n hslTripletToHex,\n isHslTriplet,\n} from './theme/colorFormat';\n\n// Placement renderer + DI helper (DL #088 D3.2, D3.4)\nexport {\n PlacementResponseRenderer,\n PlacementSmoothHeight,\n type PlacementResponseRendererProps,\n type PlacementSection,\n type PlacementVariant,\n} from './components/placement/PlacementResponseRenderer';\nexport {\n buildPlacementDependencies,\n type BuildPlacementDependenciesOptions,\n} from './components/placement/buildPlacementDependencies';\nexport {\n PlacementPayloadProvider,\n usePlacementPayload,\n type PlacementPayloadContextValue,\n} from './components/placement/PlacementPayloadContext';\n\n// Markdown parsing utilities — lifted from web50-server-ui (DL #088 B9.1)\nexport {\n UnifiedMarkdownParser,\n parseMarkdownToAst,\n parseAstToMarkdown,\n} from './utils/unifiedMarkdownParser';\nexport {\n escapeWeb5Links,\n fixMalformedLinks,\n trimTrailingWhitespace,\n normalizeIconUrls,\n decodeLinkText,\n preprocessMarkdown,\n type PreprocessorDiagnostic,\n type PreprocessResult,\n} from './utils/markdownPreprocessor';\nexport {\n ComponentTracking,\n type ComponentNodeRange,\n} from './utils/componentTracking';\nexport {\n findKeywordsInContent,\n getContextualImageFilename,\n} from './utils/contentKeywordMatcher';\nexport {\n extractIntentFromMarkdown,\n getIntentFromMarkdown,\n type IntentInfo,\n type IntentExtractionOptions,\n type ResponseState,\n} from './utils/intentExtractor';\nexport type { PageSection } from './types/page-section';\nexport {\n createPageSection,\n generateSectionId,\n generateId,\n findImageInNode,\n findImageInChildren,\n type Product,\n type ComparisonProduct,\n type ProductComparisonSectionProps,\n} from './utils/propsExtractor';\nexport {\n DiagnosticsCollector,\n type DiagnosticEntry,\n} from './utils/diagnosticsCollector';\nexport {\n REFRESH_PROMPTS_UNTIL_KEY,\n REFRESH_PROMPTS_WINDOW_MS,\n getRefreshPromptsExpiry,\n shouldRefreshPrompts,\n enableRefreshPrompts,\n disableRefreshPrompts,\n} from './utils/refreshPrompts';\nexport {\n type BackendEnvironment,\n BACKEND_ENVIRONMENT_KEY,\n BACKEND_ENVIRONMENT_QUERY_PARAM,\n DEFAULT_BACKEND_ENVIRONMENT,\n getBackendEnvironment,\n setBackendEnvironment,\n usesStagingBackend,\n} from './utils/backendEnvironment';\nexport { isSimulationTraffic } from './utils/simulation';\nexport {\n MATCH_DEBUG_KEY,\n MATCH_DEBUG_QUERY_PARAM,\n isMatchDebugEnabled,\n setMatchDebug,\n resetMatchDebugCache,\n logMatchDebug,\n} from './utils/matchDebug';\nexport { createWixAuthFetch } from './client/wixAuthFetch';\nexport {\n getOrCreateSessionId,\n getSessionId,\n getChatId,\n startNewChatId,\n setChatId,\n resetChatIdForTests,\n} from './utils/sessionManager';\n\n// Component parser orchestrator — lifted from web50-server-ui (DL #088 B9.5)\nexport {\n parseMarkdownToComponents,\n tryParseComponent,\n mergeSectionsWithStableReferences,\n type ParseMarkdownOptions,\n type ParseMarkdownResult,\n type ComponentMatch,\n type ParserContext,\n} from './component/componentParser';\nexport type {\n ParserClientConfig,\n EnrichEntityProps,\n} from './component/parser-types';\n\n// Host-mount scope contract — shared by web50-server-ui (which stamps the\n// class and mounts), embed-placement (which mounts the same bundle elsewhere),\n// and the client CDN build (which compiles every selector against it).\nexport {\n WEB5_ROOT_ID,\n WEB5_ROOT_CLASS,\n WEB5_SCOPES,\n WEB5_SCOPE,\n WEB5_GLOBAL_TOKENS,\n type HostFitConfig,\n} from './hostScope';\n"],"mappings":"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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","hasAnalyticsConsent","_privacy","UNKNOWN_CONSENT","HOST_CONSENT_GLOBAL","transmit","mayTransmit","unlockOnUserAction","isUserEngaged","mayPersistIdentity","getConsentSnapshot","getGateView","subscribeToConsent","installConsentProvider","getInstalledProviderName","setConsentBufferLimit","getConsentGateStats","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","THEME_OVERRIDE_TOKENS","_tokenContract","THEME_TOKEN_CONTRACT","BRAND_TOKENS","EDITABLE_TOKENS","TOKEN_NAME_PATTERN","bucketOf","hostAliasFor","_themeDebug","isThemeDebugEnabled","THEME_DEBUG_KEY","THEME_DEBUG_QUERY_PARAM","_colorFormat","hexToHslTriplet","hslTripletToHex","isHslTriplet","_PlacementResponseRenderer","PlacementResponseRenderer","PlacementSmoothHeight","_buildPlacementDependencies","buildPlacementDependencies","_PlacementPayloadContext","PlacementPayloadProvider","usePlacementPayload","_unifiedMarkdownParser","UnifiedMarkdownParser","parseMarkdownToAst","parseAstToMarkdown","_markdownPreprocessor","escapeWeb5Links","fixMalformedLinks","trimTrailingWhitespace","normalizeIconUrls","decodeLinkText","preprocessMarkdown","_componentTracking","ComponentTracking","_contentKeywordMatcher","findKeywordsInContent","getContextualImageFilename","_intentExtractor","extractIntentFromMarkdown","getIntentFromMarkdown","_propsExtractor","createPageSection","generateSectionId","generateId","findImageInNode","findImageInChildren","_diagnosticsCollector","DiagnosticsCollector","_refreshPrompts","REFRESH_PROMPTS_UNTIL_KEY","REFRESH_PROMPTS_WINDOW_MS","getRefreshPromptsExpiry","shouldRefreshPrompts","enableRefreshPrompts","disableRefreshPrompts","_backendEnvironment","BACKEND_ENVIRONMENT_KEY","BACKEND_ENVIRONMENT_QUERY_PARAM","DEFAULT_BACKEND_ENVIRONMENT","getBackendEnvironment","setBackendEnvironment","usesStagingBackend","_simulation","isSimulationTraffic","_matchDebug","MATCH_DEBUG_KEY","MATCH_DEBUG_QUERY_PARAM","isMatchDebugEnabled","setMatchDebug","resetMatchDebugCache","logMatchDebug","_wixAuthFetch","createWixAuthFetch","_sessionManager","getOrCreateSessionId","getSessionId","getChatId","startNewChatId","setChatId","resetChatIdForTests","_componentParser","parseMarkdownToComponents","tryParseComponent","mergeSectionsWithStableReferences","_hostScope","WEB5_ROOT_ID","WEB5_ROOT_CLASS","WEB5_SCOPES","WEB5_SCOPE","WEB5_GLOBAL_TOKENS"],"sources":["../../src/index.ts"],"sourcesContent":["// Client IDs and experiment IDs\nexport { CLIENT_IDS, EXPERIMENT_IDS } from './clients';\n\nexport {\n type EmbedFeatureToggleResult,\n type FeatureToggleReader,\n createFeatureToggleReader,\n FeatureToggleProvider,\n useFeatureToggles,\n useFeatureToggle,\n} from './featureToggles/FeatureToggleContext';\n\n// Dev-only chrome injection contract for client packages\nexport type { DevEnvironment } from './client/devEnvironment';\n\n// Part types and helpers\nexport {\n type PartType,\n type Part,\n type HeadingPart,\n type ImagePart,\n type LinkPart,\n type ListPart,\n type ListItemPart,\n type KpiItemPart,\n type CardPart,\n type IconPart,\n type CalloutPart,\n type EntityPart,\n getPartsByType,\n getPartByRole,\n getAllByRole,\n getHeading,\n getImages,\n getLinks,\n extractContent,\n extractContentMarkdown,\n deriveRole,\n} from './parts/parts';\n\n// Component types\nexport type {\n BaseCompProps,\n SlotCompProps,\n SectionCompProps,\n SectionCompPropsWithSlot,\n TextCompProps,\n ButtonCompProps,\n ImageCompProps,\n BadgeCompProps,\n HeroButton,\n KpiItemCompProps,\n FeatureItemCompProps,\n FeatureCardCompProps,\n EntityItemData,\n EntityItem,\n GenericEntityData,\n GenericEntityCompProps,\n ComparisonRow,\n ComparisonColumn,\n AiNarrativeCompProps,\n HeroCompProps,\n HeroEntityCompProps,\n KpiCompProps,\n 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 {\n UseImageSlotOptions,\n ResolvedImage,\n} 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 hasAnalyticsConsent,\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 GateView,\n type HostConsentInput,\n UNKNOWN_CONSENT,\n HOST_CONSENT_GLOBAL,\n transmit,\n mayTransmit,\n unlockOnUserAction,\n isUserEngaged,\n mayPersistIdentity,\n getConsentSnapshot,\n getGateView,\n subscribeToConsent,\n installConsentProvider,\n getInstalledProviderName,\n setConsentBufferLimit,\n getConsentGateStats,\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 THEME_OVERRIDE_TOKENS,\n type ThemeOverrideKey,\n type ThemeOverrides,\n} from './client/applyThemeOverrides';\nexport {\n THEME_TOKEN_CONTRACT,\n BRAND_TOKENS,\n EDITABLE_TOKENS,\n TOKEN_NAME_PATTERN,\n bucketOf,\n hostAliasFor,\n type TokenBucket,\n type TokenContractEntry,\n type TokenType,\n} from './theme/tokenContract';\nexport {\n isThemeDebugEnabled,\n THEME_DEBUG_KEY,\n THEME_DEBUG_QUERY_PARAM,\n type AppliedToken,\n type ThemeOverrideSource,\n} from './client/themeDebug';\nexport {\n hexToHslTriplet,\n hslTripletToHex,\n isHslTriplet,\n} from './theme/colorFormat';\n\n// Placement renderer + DI helper (DL #088 D3.2, D3.4)\nexport {\n PlacementResponseRenderer,\n PlacementSmoothHeight,\n type PlacementResponseRendererProps,\n type PlacementSection,\n type PlacementVariant,\n} from './components/placement/PlacementResponseRenderer';\nexport {\n buildPlacementDependencies,\n type BuildPlacementDependenciesOptions,\n} from './components/placement/buildPlacementDependencies';\nexport {\n PlacementPayloadProvider,\n usePlacementPayload,\n type PlacementPayloadContextValue,\n} from './components/placement/PlacementPayloadContext';\n\n// Markdown parsing utilities — lifted from web50-server-ui (DL #088 B9.1)\nexport {\n UnifiedMarkdownParser,\n parseMarkdownToAst,\n parseAstToMarkdown,\n} from './utils/unifiedMarkdownParser';\nexport {\n escapeWeb5Links,\n fixMalformedLinks,\n trimTrailingWhitespace,\n normalizeIconUrls,\n decodeLinkText,\n preprocessMarkdown,\n type PreprocessorDiagnostic,\n type PreprocessResult,\n} from './utils/markdownPreprocessor';\nexport {\n ComponentTracking,\n type ComponentNodeRange,\n} from './utils/componentTracking';\nexport {\n findKeywordsInContent,\n getContextualImageFilename,\n} from './utils/contentKeywordMatcher';\nexport {\n extractIntentFromMarkdown,\n getIntentFromMarkdown,\n type IntentInfo,\n type IntentExtractionOptions,\n type ResponseState,\n} from './utils/intentExtractor';\nexport type { PageSection } from './types/page-section';\nexport {\n createPageSection,\n generateSectionId,\n generateId,\n findImageInNode,\n findImageInChildren,\n type Product,\n type ComparisonProduct,\n type ProductComparisonSectionProps,\n} from './utils/propsExtractor';\nexport {\n DiagnosticsCollector,\n type DiagnosticEntry,\n} from './utils/diagnosticsCollector';\nexport {\n REFRESH_PROMPTS_UNTIL_KEY,\n REFRESH_PROMPTS_WINDOW_MS,\n getRefreshPromptsExpiry,\n shouldRefreshPrompts,\n enableRefreshPrompts,\n disableRefreshPrompts,\n} from './utils/refreshPrompts';\nexport {\n type BackendEnvironment,\n BACKEND_ENVIRONMENT_KEY,\n BACKEND_ENVIRONMENT_QUERY_PARAM,\n DEFAULT_BACKEND_ENVIRONMENT,\n getBackendEnvironment,\n setBackendEnvironment,\n usesStagingBackend,\n} from './utils/backendEnvironment';\nexport { isSimulationTraffic } from './utils/simulation';\nexport {\n MATCH_DEBUG_KEY,\n MATCH_DEBUG_QUERY_PARAM,\n isMatchDebugEnabled,\n setMatchDebug,\n resetMatchDebugCache,\n logMatchDebug,\n} from './utils/matchDebug';\nexport { createWixAuthFetch } from './client/wixAuthFetch';\nexport {\n getOrCreateSessionId,\n getSessionId,\n getChatId,\n startNewChatId,\n setChatId,\n resetChatIdForTests,\n} from './utils/sessionManager';\n\n// Component parser orchestrator — lifted from web50-server-ui (DL #088 B9.5)\nexport {\n parseMarkdownToComponents,\n tryParseComponent,\n mergeSectionsWithStableReferences,\n type ParseMarkdownOptions,\n type ParseMarkdownResult,\n type ComponentMatch,\n type ParserContext,\n} from './component/componentParser';\nexport type {\n ParserClientConfig,\n EnrichEntityProps,\n} from './component/parser-types';\n\n// Host-mount scope contract — shared by web50-server-ui (which stamps the\n// class and mounts), embed-placement (which mounts the same bundle elsewhere),\n// and the client CDN build (which compiles every selector against it).\nexport {\n WEB5_ROOT_ID,\n WEB5_ROOT_CLASS,\n WEB5_SCOPES,\n WEB5_SCOPE,\n WEB5_GLOBAL_TOKENS,\n type HostFitConfig,\n} from './hostScope';\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.UNBRANDED_ASSISTANT_NAME = exports.DEFAULT_PROMPT_PLACEHOLDER = exports.ASSISTANT_TOKEN = void 0;
5
+ exports.assistantName = assistantName;
6
+ exports.resolveAssistantPlaceholder = resolveAssistantPlaceholder;
7
+ /**
8
+ * What the assistant is called, and the `{assistant}` token every surface
9
+ * substitutes it into.
10
+ *
11
+ * One rule, in core, because the name shows up on surfaces that do not share a
12
+ * runtime and must not drift apart: the AI disclosure over a generated answer
13
+ * (`AiDisclosure`, B2B-4488), the hero eyebrow and empty-state lockup in a
14
+ * client bundle, the full-page prompt input (web50-server-ui), and the
15
+ * floating embed widget (vanilla TS in a shadow root). A client that reworded
16
+ * the copy in its overlay still gets the same name in it.
17
+ */
18
+
19
+ /** Placeholder inside a copy string that the assistant's name is substituted into. */
20
+ const ASSISTANT_TOKEN = exports.ASSISTANT_TOKEN = '{assistant}';
21
+
22
+ /** Used when the host publishes no store name — still reads correctly ("Ask AI…"). */
23
+ const UNBRANDED_ASSISTANT_NAME = exports.UNBRANDED_ASSISTANT_NAME = 'AI';
24
+
25
+ /**
26
+ * The product default for a prompt input's placeholder.
27
+ *
28
+ * Carries the token rather than a resolved name so the copy can live in
29
+ * configuration: a client rewords it in their overlay and the name still
30
+ * resolves. Hosts must run it through {@link resolveAssistantPlaceholder}
31
+ * before rendering, or a shopper sees the raw token.
32
+ */
33
+ const DEFAULT_PROMPT_PLACEHOLDER = exports.DEFAULT_PROMPT_PLACEHOLDER = `Ask ${ASSISTANT_TOKEN}...`;
34
+
35
+ /**
36
+ * What the assistant is called: the store's name plus "AI" — "Smallflower AI".
37
+ *
38
+ * A host that publishes no name gets the unbranded "AI", which still reads
39
+ * correctly in every caller.
40
+ */
41
+ function assistantName(siteName) {
42
+ const trimmed = (siteName ?? '').trim();
43
+ return trimmed ? `${trimmed} ${UNBRANDED_ASSISTANT_NAME}` : UNBRANDED_ASSISTANT_NAME;
44
+ }
45
+
46
+ /**
47
+ * Substitute `{assistant}` in a copy string with the assistant's name.
48
+ *
49
+ * A string with no token is returned untouched — by reference — so a client
50
+ * that hardcodes its own wording keeps it and callers can compare identity.
51
+ */
52
+ function resolveAssistantPlaceholder(placeholder, siteName) {
53
+ if (!placeholder.includes(ASSISTANT_TOKEN)) {
54
+ return placeholder;
55
+ }
56
+ return placeholder.split(ASSISTANT_TOKEN).join(assistantName(siteName));
57
+ }
58
+ //# sourceMappingURL=assistant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ASSISTANT_TOKEN","exports","UNBRANDED_ASSISTANT_NAME","DEFAULT_PROMPT_PLACEHOLDER","assistantName","siteName","trimmed","trim","resolveAssistantPlaceholder","placeholder","includes","split","join"],"sources":["../../../src/lib/assistant.ts"],"sourcesContent":["/**\n * What the assistant is called, and the `{assistant}` token every surface\n * substitutes it into.\n *\n * One rule, in core, because the name shows up on surfaces that do not share a\n * runtime and must not drift apart: the AI disclosure over a generated answer\n * (`AiDisclosure`, B2B-4488), the hero eyebrow and empty-state lockup in a\n * client bundle, the full-page prompt input (web50-server-ui), and the\n * floating embed widget (vanilla TS in a shadow root). A client that reworded\n * the copy in its overlay still gets the same name in it.\n */\n\n/** Placeholder inside a copy string that the assistant's name is substituted into. */\nexport const ASSISTANT_TOKEN = '{assistant}';\n\n/** Used when the host publishes no store name — still reads correctly (\"Ask AI…\"). */\nexport const UNBRANDED_ASSISTANT_NAME = 'AI';\n\n/**\n * The product default for a prompt input's placeholder.\n *\n * Carries the token rather than a resolved name so the copy can live in\n * configuration: a client rewords it in their overlay and the name still\n * resolves. Hosts must run it through {@link resolveAssistantPlaceholder}\n * before rendering, or a shopper sees the raw token.\n */\nexport const DEFAULT_PROMPT_PLACEHOLDER = `Ask ${ASSISTANT_TOKEN}...`;\n\n/**\n * What the assistant is called: the store's name plus \"AI\" — \"Smallflower AI\".\n *\n * A host that publishes no name gets the unbranded \"AI\", which still reads\n * correctly in every caller.\n */\nexport function assistantName(siteName?: string): string {\n const trimmed = (siteName ?? '').trim();\n return trimmed\n ? `${trimmed} ${UNBRANDED_ASSISTANT_NAME}`\n : UNBRANDED_ASSISTANT_NAME;\n}\n\n/**\n * Substitute `{assistant}` in a copy string with the assistant's name.\n *\n * A string with no token is returned untouched — by reference — so a client\n * that hardcodes its own wording keeps it and callers can compare identity.\n */\nexport function resolveAssistantPlaceholder(\n placeholder: string,\n siteName?: string,\n): string {\n if (!placeholder.includes(ASSISTANT_TOKEN)) {\n return placeholder;\n }\n return placeholder.split(ASSISTANT_TOKEN).join(assistantName(siteName));\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACO,MAAMA,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG,aAAa;;AAE5C;AACO,MAAME,wBAAwB,GAAAD,OAAA,CAAAC,wBAAA,GAAG,IAAI;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,0BAA0B,GAAAF,OAAA,CAAAE,0BAAA,GAAG,OAAOH,eAAe,KAAK;;AAErE;AACA;AACA;AACA;AACA;AACA;AACO,SAASI,aAAaA,CAACC,QAAiB,EAAU;EACvD,MAAMC,OAAO,GAAG,CAACD,QAAQ,IAAI,EAAE,EAAEE,IAAI,CAAC,CAAC;EACvC,OAAOD,OAAO,GACV,GAAGA,OAAO,IAAIJ,wBAAwB,EAAE,GACxCA,wBAAwB;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASM,2BAA2BA,CACzCC,WAAmB,EACnBJ,QAAiB,EACT;EACR,IAAI,CAACI,WAAW,CAACC,QAAQ,CAACV,eAAe,CAAC,EAAE;IAC1C,OAAOS,WAAW;EACpB;EACA,OAAOA,WAAW,CAACE,KAAK,CAACX,eAAe,CAAC,CAACY,IAAI,CAACR,aAAa,CAACC,QAAQ,CAAC,CAAC;AACzE","ignoreList":[]}
@@ -1,15 +1,17 @@
1
1
  import React, { Fragment } from 'react';
2
2
  import { cn } from '../../lib/utils.js';
3
+ import { ASSISTANT_TOKEN, UNBRANDED_ASSISTANT_NAME } from '../../lib/assistant.js';
3
4
  import { AiIcon } from './icons/AiIcon.js';
4
5
 
5
6
  /**
6
- * Placeholder inside `text` that the assistant's name is substituted into.
7
+ * Re-exported for the callers that already import the token from here.
7
8
  *
8
- * Same `{assistant}` token the prompt-input placeholder already uses
9
- * ("Ask {assistant}…"), so a store rename moves both together and a
10
- * translator can put the name wherever the target language needs it.
9
+ * It lives in `lib/assistant` alongside the name it stands for: the same token
10
+ * the prompt-input placeholder uses ("Ask {assistant}…"), so a store rename
11
+ * moves both together and a translator can put the name wherever the target
12
+ * language needs it.
11
13
  */
12
- export const ASSISTANT_TOKEN = '{assistant}';
14
+ export { ASSISTANT_TOKEN };
13
15
 
14
16
  /**
15
17
  * The disclosure a shopper must see. Wording is fixed here rather than in each
@@ -17,9 +19,6 @@ export const ASSISTANT_TOKEN = '{assistant}';
17
19
  * text, so it should not be forkable per store by accident.
18
20
  */
19
21
  export const DEFAULT_AI_DISCLOSURE_TEXT = `Generated by ${ASSISTANT_TOKEN} · Double-check anything important`;
20
-
21
- /** Used when the host publishes no store name — still reads correctly. */
22
- const UNBRANDED_ASSISTANT_NAME = 'AI';
23
22
  /**
24
23
  * "Generated by <Store> AI · Double-check anything important" — the AI
25
24
  * disclosure shown at the top of a generated answer (EU AI Act, B2B-4488).
@@ -1 +1 @@
1
- {"version":3,"names":["React","Fragment","cn","AiIcon","ASSISTANT_TOKEN","DEFAULT_AI_DISCLOSURE_TEXT","UNBRANDED_ASSISTANT_NAME","AiDisclosure","_ref","assistantName","text","icon","align","className","name","trim","segments","split","createElement","role","undefined","map","segment","index","key","length"],"sources":["../../../../src/components/ui/AiDisclosure.tsx"],"sourcesContent":["import React, { FC, Fragment, ReactNode } from 'react';\nimport { cn } from '../../lib/utils';\nimport { AiIcon } from './icons/AiIcon';\n\n/**\n * Placeholder inside `text` that the assistant's name is substituted into.\n *\n * Same `{assistant}` token the prompt-input placeholder already uses\n * (\"Ask {assistant}…\"), so a store rename moves both together and a\n * translator can put the name wherever the target language needs it.\n */\nexport const ASSISTANT_TOKEN = '{assistant}';\n\n/**\n * The disclosure a shopper must see. Wording is fixed here rather than in each\n * client bundle: it is what tells the shopper they are reading machine-written\n * text, so it should not be forkable per store by accident.\n */\nexport const DEFAULT_AI_DISCLOSURE_TEXT = `Generated by ${ASSISTANT_TOKEN} · Double-check anything important`;\n\n/** Used when the host publishes no store name — still reads correctly. */\nconst UNBRANDED_ASSISTANT_NAME = 'AI';\n\nexport interface AiDisclosureProps {\n /**\n * What the assistant is called — the store's name plus \"AI\", e.g.\n * \"Smallflower AI\". Rendered in the display face so the store's brand is the\n * emphasized word in the line. Blank/omitted falls back to \"AI\".\n */\n assistantName?: string;\n /**\n * The full sentence, with `{assistant}` marking where the name goes.\n * Defaults to {@link DEFAULT_AI_DISCLOSURE_TEXT}. A string without the token\n * renders verbatim, with no emphasized name.\n */\n text?: string;\n /**\n * Replace the leading icon. `null` drops it — the text alone still carries\n * the disclosure, so removing the icon is a visual choice, not a\n * compliance one.\n */\n icon?: ReactNode;\n /** Row alignment. `'center'` (default) matches the hero; `'start'` for left-aligned surfaces. */\n align?: 'start' | 'center';\n className?: string;\n}\n\n/**\n * \"Generated by <Store> AI · Double-check anything important\" — the AI\n * disclosure shown at the top of a generated answer (EU AI Act, B2B-4488).\n *\n * Replaces the old \"AI can make mistakes.\" response footer: one notice, above\n * the content rather than below it, so a shopper reads it before the answer\n * instead of after.\n *\n * Presentational only. Hosts decide where it mounts and pass the store's\n * assistant name; every color, size and face resolves from web5 tokens, so a\n * client re-skins it by re-skinning the theme.\n */\nexport const AiDisclosure: FC<AiDisclosureProps> = ({\n assistantName,\n text = DEFAULT_AI_DISCLOSURE_TEXT,\n icon,\n align = 'center',\n className,\n}) => {\n const name = (assistantName ?? '').trim() || UNBRANDED_ASSISTANT_NAME;\n const segments = text.split(ASSISTANT_TOKEN);\n\n return (\n <p\n className={cn(\n 'web5-ai-disclosure',\n align === 'start' && 'web5-ai-disclosure--start',\n className,\n )}\n role=\"note\"\n >\n {icon === undefined ? (\n <AiIcon className=\"web5-ai-disclosure__icon\" />\n ) : (\n icon\n )}\n <span className=\"web5-ai-disclosure__text\">\n {segments.map((segment, index) => (\n <Fragment key={index}>\n {segment}\n {index < segments.length - 1 && (\n <span className=\"web5-ai-disclosure__assistant\">{name}</span>\n )}\n </Fragment>\n ))}\n </span>\n </p>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAQC,QAAQ,QAAmB,OAAO;AACtD,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,MAAM,QAAQ,gBAAgB;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,eAAe,GAAG,aAAa;;AAE5C;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,0BAA0B,GAAG,gBAAgBD,eAAe,oCAAoC;;AAE7G;AACA,MAAME,wBAAwB,GAAG,IAAI;AA0BrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,YAAmC,GAAGC,IAAA,IAM7C;EAAA,IAN8C;IAClDC,aAAa;IACbC,IAAI,GAAGL,0BAA0B;IACjCM,IAAI;IACJC,KAAK,GAAG,QAAQ;IAChBC;EACF,CAAC,GAAAL,IAAA;EACC,MAAMM,IAAI,GAAG,CAACL,aAAa,IAAI,EAAE,EAAEM,IAAI,CAAC,CAAC,IAAIT,wBAAwB;EACrE,MAAMU,QAAQ,GAAGN,IAAI,CAACO,KAAK,CAACb,eAAe,CAAC;EAE5C,oBACEJ,KAAA,CAAAkB,aAAA;IACEL,SAAS,EAAEX,EAAE,CACX,oBAAoB,EACpBU,KAAK,KAAK,OAAO,IAAI,2BAA2B,EAChDC,SACF,CAAE;IACFM,IAAI,EAAC;EAAM,GAEVR,IAAI,KAAKS,SAAS,gBACjBpB,KAAA,CAAAkB,aAAA,CAACf,MAAM;IAACU,SAAS,EAAC;EAA0B,CAAE,CAAC,GAE/CF,IACD,eACDX,KAAA,CAAAkB,aAAA;IAAML,SAAS,EAAC;EAA0B,GACvCG,QAAQ,CAACK,GAAG,CAAC,CAACC,OAAO,EAAEC,KAAK,kBAC3BvB,KAAA,CAAAkB,aAAA,CAACjB,QAAQ;IAACuB,GAAG,EAAED;EAAM,GAClBD,OAAO,EACPC,KAAK,GAAGP,QAAQ,CAACS,MAAM,GAAG,CAAC,iBAC1BzB,KAAA,CAAAkB,aAAA;IAAML,SAAS,EAAC;EAA+B,GAAEC,IAAW,CAEtD,CACX,CACG,CACL,CAAC;AAER,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","Fragment","cn","ASSISTANT_TOKEN","UNBRANDED_ASSISTANT_NAME","AiIcon","DEFAULT_AI_DISCLOSURE_TEXT","AiDisclosure","_ref","assistantName","text","icon","align","className","name","trim","segments","split","createElement","role","undefined","map","segment","index","key","length"],"sources":["../../../../src/components/ui/AiDisclosure.tsx"],"sourcesContent":["import React, { FC, Fragment, ReactNode } from 'react';\nimport { cn } from '../../lib/utils';\nimport { ASSISTANT_TOKEN, UNBRANDED_ASSISTANT_NAME } from '../../lib/assistant';\nimport { AiIcon } from './icons/AiIcon';\n\n/**\n * Re-exported for the callers that already import the token from here.\n *\n * It lives in `lib/assistant` alongside the name it stands for: the same token\n * the prompt-input placeholder uses (\"Ask {assistant}…\"), so a store rename\n * moves both together and a translator can put the name wherever the target\n * language needs it.\n */\nexport { ASSISTANT_TOKEN };\n\n/**\n * The disclosure a shopper must see. Wording is fixed here rather than in each\n * client bundle: it is what tells the shopper they are reading machine-written\n * text, so it should not be forkable per store by accident.\n */\nexport const DEFAULT_AI_DISCLOSURE_TEXT = `Generated by ${ASSISTANT_TOKEN} · Double-check anything important`;\n\nexport interface AiDisclosureProps {\n /**\n * What the assistant is called — the store's name plus \"AI\", e.g.\n * \"Smallflower AI\". Rendered in the display face so the store's brand is the\n * emphasized word in the line. Blank/omitted falls back to \"AI\".\n */\n assistantName?: string;\n /**\n * The full sentence, with `{assistant}` marking where the name goes.\n * Defaults to {@link DEFAULT_AI_DISCLOSURE_TEXT}. A string without the token\n * renders verbatim, with no emphasized name.\n */\n text?: string;\n /**\n * Replace the leading icon. `null` drops it — the text alone still carries\n * the disclosure, so removing the icon is a visual choice, not a\n * compliance one.\n */\n icon?: ReactNode;\n /** Row alignment. `'center'` (default) matches the hero; `'start'` for left-aligned surfaces. */\n align?: 'start' | 'center';\n className?: string;\n}\n\n/**\n * \"Generated by <Store> AI · Double-check anything important\" — the AI\n * disclosure shown at the top of a generated answer (EU AI Act, B2B-4488).\n *\n * Replaces the old \"AI can make mistakes.\" response footer: one notice, above\n * the content rather than below it, so a shopper reads it before the answer\n * instead of after.\n *\n * Presentational only. Hosts decide where it mounts and pass the store's\n * assistant name; every color, size and face resolves from web5 tokens, so a\n * client re-skins it by re-skinning the theme.\n */\nexport const AiDisclosure: FC<AiDisclosureProps> = ({\n assistantName,\n text = DEFAULT_AI_DISCLOSURE_TEXT,\n icon,\n align = 'center',\n className,\n}) => {\n const name = (assistantName ?? '').trim() || UNBRANDED_ASSISTANT_NAME;\n const segments = text.split(ASSISTANT_TOKEN);\n\n return (\n <p\n className={cn(\n 'web5-ai-disclosure',\n align === 'start' && 'web5-ai-disclosure--start',\n className,\n )}\n role=\"note\"\n >\n {icon === undefined ? (\n <AiIcon className=\"web5-ai-disclosure__icon\" />\n ) : (\n icon\n )}\n <span className=\"web5-ai-disclosure__text\">\n {segments.map((segment, index) => (\n <Fragment key={index}>\n {segment}\n {index < segments.length - 1 && (\n <span className=\"web5-ai-disclosure__assistant\">{name}</span>\n )}\n </Fragment>\n ))}\n </span>\n </p>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAQC,QAAQ,QAAmB,OAAO;AACtD,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,eAAe,EAAEC,wBAAwB,QAAQ,qBAAqB;AAC/E,SAASC,MAAM,QAAQ,gBAAgB;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASF,eAAe;;AAExB;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMG,0BAA0B,GAAG,gBAAgBH,eAAe,oCAAoC;AA0B7G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMI,YAAmC,GAAGC,IAAA,IAM7C;EAAA,IAN8C;IAClDC,aAAa;IACbC,IAAI,GAAGJ,0BAA0B;IACjCK,IAAI;IACJC,KAAK,GAAG,QAAQ;IAChBC;EACF,CAAC,GAAAL,IAAA;EACC,MAAMM,IAAI,GAAG,CAACL,aAAa,IAAI,EAAE,EAAEM,IAAI,CAAC,CAAC,IAAIX,wBAAwB;EACrE,MAAMY,QAAQ,GAAGN,IAAI,CAACO,KAAK,CAACd,eAAe,CAAC;EAE5C,oBACEH,KAAA,CAAAkB,aAAA;IACEL,SAAS,EAAEX,EAAE,CACX,oBAAoB,EACpBU,KAAK,KAAK,OAAO,IAAI,2BAA2B,EAChDC,SACF,CAAE;IACFM,IAAI,EAAC;EAAM,GAEVR,IAAI,KAAKS,SAAS,gBACjBpB,KAAA,CAAAkB,aAAA,CAACb,MAAM;IAACQ,SAAS,EAAC;EAA0B,CAAE,CAAC,GAE/CF,IACD,eACDX,KAAA,CAAAkB,aAAA;IAAML,SAAS,EAAC;EAA0B,GACvCG,QAAQ,CAACK,GAAG,CAAC,CAACC,OAAO,EAAEC,KAAK,kBAC3BvB,KAAA,CAAAkB,aAAA,CAACjB,QAAQ;IAACuB,GAAG,EAAED;EAAM,GAClBD,OAAO,EACPC,KAAK,GAAGP,QAAQ,CAACS,MAAM,GAAG,CAAC,iBAC1BzB,KAAA,CAAAkB,aAAA;IAAML,SAAS,EAAC;EAA+B,GAAEC,IAAW,CAEtD,CACX,CACG,CACL,CAAC;AAER,CAAC","ignoreList":[]}