@wix/web5-core 1.56.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -0
- package/dist/cjs/client/clientBundleOverride.js +48 -0
- package/dist/cjs/client/clientBundleOverride.js.map +1 -0
- package/dist/cjs/client/devEnvironment.js +4 -0
- package/dist/cjs/client/devEnvironment.js.map +1 -0
- package/dist/cjs/client/loadClientBundle.js +85 -0
- package/dist/cjs/client/loadClientBundle.js.map +1 -0
- package/dist/cjs/client/wixAuthFetch.js +73 -0
- package/dist/cjs/client/wixAuthFetch.js.map +1 -0
- package/dist/cjs/clients.js +15 -0
- package/dist/cjs/clients.js.map +1 -0
- package/dist/cjs/color/colorUtils.js +126 -0
- package/dist/cjs/color/colorUtils.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/CalloutSectionDefinition.js +67 -0
- package/dist/cjs/component/componentDefinitions/CalloutSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/ComparisonSectionDefinition.js +141 -0
- package/dist/cjs/component/componentDefinitions/ComparisonSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/CtaBannerSectionDefinition.js +85 -0
- package/dist/cjs/component/componentDefinitions/CtaBannerSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/EntitySectionDefinition.js +171 -0
- package/dist/cjs/component/componentDefinitions/EntitySectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/ErrorSectionDefinition.js +81 -0
- package/dist/cjs/component/componentDefinitions/ErrorSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/FallbackSectionDefinition.js +29 -0
- package/dist/cjs/component/componentDefinitions/FallbackSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/FeatureCardsSectionDefinition.js +119 -0
- package/dist/cjs/component/componentDefinitions/FeatureCardsSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/FeatureSection9PlusDefinition.js +75 -0
- package/dist/cjs/component/componentDefinitions/FeatureSection9PlusDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/HeroEntitySectionDefinition.js +124 -0
- package/dist/cjs/component/componentDefinitions/HeroEntitySectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/HeroSectionDefinition.js +209 -0
- package/dist/cjs/component/componentDefinitions/HeroSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/HtmlCommentSectionDefinition.js +19 -0
- package/dist/cjs/component/componentDefinitions/HtmlCommentSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/KpiSectionDefinition.js +114 -0
- package/dist/cjs/component/componentDefinitions/KpiSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/NextStepsSectionDefinition.js +136 -0
- package/dist/cjs/component/componentDefinitions/NextStepsSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/SearchSectionDefinition.js +18 -0
- package/dist/cjs/component/componentDefinitions/SearchSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/SkipNodesSectionDefinition.js +20 -0
- package/dist/cjs/component/componentDefinitions/SkipNodesSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/TextBlockSectionDefinition.js +65 -0
- package/dist/cjs/component/componentDefinitions/TextBlockSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/index.js +48 -0
- package/dist/cjs/component/componentDefinitions/index.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/listItemsSectionDefinition.js +86 -0
- package/dist/cjs/component/componentDefinitions/listItemsSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/parse-utils.js +434 -0
- package/dist/cjs/component/componentDefinitions/parse-utils.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/specHelpers.js +36 -0
- package/dist/cjs/component/componentDefinitions/specHelpers.js.map +1 -0
- package/dist/cjs/component/componentParser.js +365 -0
- package/dist/cjs/component/componentParser.js.map +1 -0
- package/dist/cjs/component/diagnosticTypes.js +30 -0
- package/dist/cjs/component/diagnosticTypes.js.map +1 -0
- package/dist/cjs/component/parser-types.js +4 -0
- package/dist/cjs/component/parser-types.js.map +1 -0
- package/dist/cjs/component/section-definition.js +4 -0
- package/dist/cjs/component/section-definition.js.map +1 -0
- package/dist/cjs/component/types.js +4 -0
- package/dist/cjs/component/types.js.map +1 -0
- package/dist/cjs/components/placement/PlacementPayloadContext.js +29 -0
- package/dist/cjs/components/placement/PlacementPayloadContext.js.map +1 -0
- package/dist/cjs/components/placement/PlacementResponseRenderer.css +269 -0
- package/dist/cjs/components/placement/PlacementResponseRenderer.js +259 -0
- package/dist/cjs/components/placement/PlacementResponseRenderer.js.map +1 -0
- package/dist/cjs/components/placement/buildPlacementDependencies.js +214 -0
- package/dist/cjs/components/placement/buildPlacementDependencies.js.map +1 -0
- package/dist/cjs/components/ui/BottomContainer.js +26 -0
- package/dist/cjs/components/ui/BottomContainer.js.map +1 -0
- package/dist/cjs/components/ui/CalloutBlock.js +156 -0
- package/dist/cjs/components/ui/CalloutBlock.js.map +1 -0
- package/dist/cjs/components/ui/Disclaimer.css +35 -0
- package/dist/cjs/components/ui/Disclaimer.js +56 -0
- package/dist/cjs/components/ui/Disclaimer.js.map +1 -0
- package/dist/cjs/components/ui/FeedbackBar.css +267 -0
- package/dist/cjs/components/ui/FeedbackBar.js +417 -0
- package/dist/cjs/components/ui/FeedbackBar.js.map +1 -0
- package/dist/cjs/components/ui/Loader.js +73 -0
- package/dist/cjs/components/ui/Loader.js.map +1 -0
- package/dist/cjs/components/ui/MarkdownText.js +419 -0
- package/dist/cjs/components/ui/MarkdownText.js.map +1 -0
- package/dist/cjs/components/ui/OptimizedImage.js +414 -0
- package/dist/cjs/components/ui/OptimizedImage.js.map +1 -0
- package/dist/cjs/components/ui/PlacementLoader.css +101 -0
- package/dist/cjs/components/ui/PlacementLoader.js +62 -0
- package/dist/cjs/components/ui/PlacementLoader.js.map +1 -0
- package/dist/cjs/components/ui/PromptEntryEmptyState.css +172 -0
- package/dist/cjs/components/ui/PromptEntryEmptyState.js +96 -0
- package/dist/cjs/components/ui/PromptEntryEmptyState.js.map +1 -0
- package/dist/cjs/components/ui/SearchSection.css +538 -0
- package/dist/cjs/components/ui/SearchSection.js +550 -0
- package/dist/cjs/components/ui/SearchSection.js.map +1 -0
- package/dist/cjs/components/ui/SectionSkeleton.css +109 -0
- package/dist/cjs/components/ui/SectionSkeleton.js +190 -0
- package/dist/cjs/components/ui/SectionSkeleton.js.map +1 -0
- package/dist/cjs/components/ui/SmartIcon.js +122 -0
- package/dist/cjs/components/ui/SmartIcon.js.map +1 -0
- package/dist/cjs/components/ui/UnifiedLink.js +169 -0
- package/dist/cjs/components/ui/UnifiedLink.js.map +1 -0
- package/dist/cjs/components/ui/UserQuery.js +348 -0
- package/dist/cjs/components/ui/UserQuery.js.map +1 -0
- package/dist/cjs/components/ui/icons/ArrowTopRightIcon.js +37 -0
- package/dist/cjs/components/ui/icons/ArrowTopRightIcon.js.map +1 -0
- package/dist/cjs/components/ui/icons/ArrowUpIcon.js +61 -0
- package/dist/cjs/components/ui/icons/ArrowUpIcon.js.map +1 -0
- package/dist/cjs/components/ui/icons/CheckIcon.js +37 -0
- package/dist/cjs/components/ui/icons/CheckIcon.js.map +1 -0
- package/dist/cjs/components/ui/icons/CommentIcon.js +34 -0
- package/dist/cjs/components/ui/icons/CommentIcon.js.map +1 -0
- package/dist/cjs/components/ui/icons/PlusIcon.js +51 -0
- package/dist/cjs/components/ui/icons/PlusIcon.js.map +1 -0
- package/dist/cjs/components/ui/icons/RedoIcon.js +51 -0
- package/dist/cjs/components/ui/icons/RedoIcon.js.map +1 -0
- package/dist/cjs/components/ui/icons/ShareIcon.js +81 -0
- package/dist/cjs/components/ui/icons/ShareIcon.js.map +1 -0
- package/dist/cjs/components/ui/icons/UndoIcon.js +51 -0
- package/dist/cjs/components/ui/icons/UndoIcon.js.map +1 -0
- package/dist/cjs/components/ui/table.js +159 -0
- package/dist/cjs/components/ui/table.js.map +1 -0
- package/dist/cjs/context/ChipsContext.js +12 -0
- package/dist/cjs/context/ChipsContext.js.map +1 -0
- package/dist/cjs/context/ComponentDependenciesContext.js +32 -0
- package/dist/cjs/context/ComponentDependenciesContext.js.map +1 -0
- package/dist/cjs/entity/defaultExtractor.js +117 -0
- package/dist/cjs/entity/defaultExtractor.js.map +1 -0
- package/dist/cjs/entity/enrichEntitiesFromPayload.js +39 -0
- package/dist/cjs/entity/enrichEntitiesFromPayload.js.map +1 -0
- package/dist/cjs/entity/fetchEntityListData.js +78 -0
- package/dist/cjs/entity/fetchEntityListData.js.map +1 -0
- package/dist/cjs/entity/index.js +41 -0
- package/dist/cjs/entity/index.js.map +1 -0
- package/dist/cjs/entity/types.js +4 -0
- package/dist/cjs/entity/types.js.map +1 -0
- package/dist/cjs/errors/conversationErrorTypes.js +56 -0
- package/dist/cjs/errors/conversationErrorTypes.js.map +1 -0
- package/dist/cjs/errors/errorTemplates.js +86 -0
- package/dist/cjs/errors/errorTemplates.js.map +1 -0
- package/dist/cjs/errors/index.js +13 -0
- package/dist/cjs/errors/index.js.map +1 -0
- package/dist/cjs/external-types.d.js +2 -0
- package/dist/cjs/external-types.d.js.map +1 -0
- package/dist/cjs/featureToggles/FeatureToggleContext.js +44 -0
- package/dist/cjs/featureToggles/FeatureToggleContext.js.map +1 -0
- package/dist/cjs/hooks/useConversation.js +10 -0
- package/dist/cjs/hooks/useConversation.js.map +1 -0
- package/dist/cjs/hooks/useDebugImageContext.js +10 -0
- package/dist/cjs/hooks/useDebugImageContext.js.map +1 -0
- package/dist/cjs/hooks/useEntityTransforms.js +10 -0
- package/dist/cjs/hooks/useEntityTransforms.js.map +1 -0
- package/dist/cjs/hooks/useMarkdownUtils.js +10 -0
- package/dist/cjs/hooks/useMarkdownUtils.js.map +1 -0
- package/dist/cjs/hooks/useResolveGenericEntityData.js +10 -0
- package/dist/cjs/hooks/useResolveGenericEntityData.js.map +1 -0
- package/dist/cjs/hooks/useResolveSearchSpringEntityData.js +146 -0
- package/dist/cjs/hooks/useResolveSearchSpringEntityData.js.map +1 -0
- package/dist/cjs/hooks/useResolveShopifyEntityData.js +190 -0
- package/dist/cjs/hooks/useResolveShopifyEntityData.js.map +1 -0
- package/dist/cjs/hooks/useResolvedImageSources.js +160 -0
- package/dist/cjs/hooks/useResolvedImageSources.js.map +1 -0
- package/dist/cjs/hooks/useWeb5Link.js +10 -0
- package/dist/cjs/hooks/useWeb5Link.js.map +1 -0
- package/dist/cjs/image/contextualImageTypes.js +4 -0
- package/dist/cjs/image/contextualImageTypes.js.map +1 -0
- package/dist/cjs/image/imageSearchFilterTypes.js +19 -0
- package/dist/cjs/image/imageSearchFilterTypes.js.map +1 -0
- package/dist/cjs/image/imageSearchFilters.js +22 -0
- package/dist/cjs/image/imageSearchFilters.js.map +1 -0
- package/dist/cjs/index.js +285 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/lib/utils.js +33 -0
- package/dist/cjs/lib/utils.js.map +1 -0
- package/dist/cjs/markdownBlocks.js +645 -0
- package/dist/cjs/markdownBlocks.js.map +1 -0
- package/dist/cjs/match/astToParts.js +374 -0
- package/dist/cjs/match/astToParts.js.map +1 -0
- package/dist/cjs/match/extractProps.js +654 -0
- package/dist/cjs/match/extractProps.js.map +1 -0
- package/dist/cjs/match/index.js +11 -0
- package/dist/cjs/match/index.js.map +1 -0
- package/dist/cjs/match/matchAllSections.js +34 -0
- package/dist/cjs/match/matchAllSections.js.map +1 -0
- package/dist/cjs/match/matchMarkdown.js +39 -0
- package/dist/cjs/match/matchMarkdown.js.map +1 -0
- package/dist/cjs/parts/parts.js +183 -0
- package/dist/cjs/parts/parts.js.map +1 -0
- package/dist/cjs/patternAnalyzer/conflictDetector.js +103 -0
- package/dist/cjs/patternAnalyzer/conflictDetector.js.map +1 -0
- package/dist/cjs/patternAnalyzer/index.js +40 -0
- package/dist/cjs/patternAnalyzer/index.js.map +1 -0
- package/dist/cjs/patternAnalyzer/markdownGenerator.js +347 -0
- package/dist/cjs/patternAnalyzer/markdownGenerator.js.map +1 -0
- package/dist/cjs/patternAnalyzer/mergeDetector.js +505 -0
- package/dist/cjs/patternAnalyzer/mergeDetector.js.map +1 -0
- package/dist/cjs/patternAnalyzer/parserValidator.js +56 -0
- package/dist/cjs/patternAnalyzer/parserValidator.js.map +1 -0
- package/dist/cjs/patternAnalyzer/patternWriter.js +106 -0
- package/dist/cjs/patternAnalyzer/patternWriter.js.map +1 -0
- package/dist/cjs/patternAnalyzer/run.js +140 -0
- package/dist/cjs/patternAnalyzer/run.js.map +1 -0
- package/dist/cjs/patternAnalyzer/types.js +4 -0
- package/dist/cjs/patternAnalyzer/types.js.map +1 -0
- package/dist/cjs/patternValidator/ERROR_MESSAGES.md +110 -0
- package/dist/cjs/patternValidator/README.md +757 -0
- package/dist/cjs/patternValidator/automaton.js +349 -0
- package/dist/cjs/patternValidator/automaton.js.map +1 -0
- package/dist/cjs/patternValidator/index.js +196 -0
- package/dist/cjs/patternValidator/index.js.map +1 -0
- package/dist/cjs/patternValidator/lexer.js +218 -0
- package/dist/cjs/patternValidator/lexer.js.map +1 -0
- package/dist/cjs/patternValidator/matcher.js +722 -0
- package/dist/cjs/patternValidator/matcher.js.map +1 -0
- package/dist/cjs/patternValidator/parser.js +533 -0
- package/dist/cjs/patternValidator/parser.js.map +1 -0
- package/dist/cjs/patternValidator/types.js +4 -0
- package/dist/cjs/patternValidator/types.js.map +1 -0
- package/dist/cjs/patternValidator/validator.test.js +1277 -0
- package/dist/cjs/patternValidator/validator.test.js.map +1 -0
- package/dist/cjs/registry/ComponentRegistry.js +438 -0
- package/dist/cjs/registry/ComponentRegistry.js.map +1 -0
- package/dist/cjs/registry/Intent.js +19 -0
- package/dist/cjs/registry/Intent.js.map +1 -0
- package/dist/cjs/registry/index.js +9 -0
- package/dist/cjs/registry/index.js.map +1 -0
- package/dist/cjs/registry/types.js +4 -0
- package/dist/cjs/registry/types.js.map +1 -0
- package/dist/cjs/services/cart/addToCart.js +147 -0
- package/dist/cjs/services/cart/addToCart.js.map +1 -0
- package/dist/cjs/services/cart/index.js +7 -0
- package/dist/cjs/services/cart/index.js.map +1 -0
- package/dist/cjs/services/searchspring/index.js +10 -0
- package/dist/cjs/services/searchspring/index.js.map +1 -0
- package/dist/cjs/services/searchspring/searchSpringClient.js +49 -0
- package/dist/cjs/services/searchspring/searchSpringClient.js.map +1 -0
- package/dist/cjs/services/searchspring/transformSSProduct.js +70 -0
- package/dist/cjs/services/searchspring/transformSSProduct.js.map +1 -0
- package/dist/cjs/services/searchspring/types.js +4 -0
- package/dist/cjs/services/searchspring/types.js.map +1 -0
- package/dist/cjs/services/shopify/globals.d.js +4 -0
- package/dist/cjs/services/shopify/globals.d.js.map +1 -0
- package/dist/cjs/services/shopify/index.js +22 -0
- package/dist/cjs/services/shopify/index.js.map +1 -0
- package/dist/cjs/services/shopify/queries.js +214 -0
- package/dist/cjs/services/shopify/queries.js.map +1 -0
- package/dist/cjs/services/shopify/resolveStoreDomain.js +28 -0
- package/dist/cjs/services/shopify/resolveStoreDomain.js.map +1 -0
- package/dist/cjs/services/shopify/shopifyEntityResolver.js +109 -0
- package/dist/cjs/services/shopify/shopifyEntityResolver.js.map +1 -0
- package/dist/cjs/services/shopify/shopifyStorefrontClient.js +58 -0
- package/dist/cjs/services/shopify/shopifyStorefrontClient.js.map +1 -0
- package/dist/cjs/services/shopify/transformShopifyEntity.js +137 -0
- package/dist/cjs/services/shopify/transformShopifyEntity.js.map +1 -0
- package/dist/cjs/services/shopify/types.js +4 -0
- package/dist/cjs/services/shopify/types.js.map +1 -0
- package/dist/cjs/styles/base-tokens.css +152 -0
- package/dist/cjs/styles/base-utilities.css +424 -0
- package/dist/cjs/styles/components.css +6 -0
- package/dist/cjs/styles/prompt-input-tokens.css +136 -0
- package/dist/cjs/styles/tailwind-theme.css +138 -0
- package/dist/cjs/test-types.d.js +2 -0
- package/dist/cjs/test-types.d.js.map +1 -0
- package/dist/cjs/testUtils.js +25 -0
- package/dist/cjs/testUtils.js.map +1 -0
- package/dist/cjs/types/answerUpdatedEvent.js +20 -0
- package/dist/cjs/types/answerUpdatedEvent.js.map +1 -0
- package/dist/cjs/types/blog.js +4 -0
- package/dist/cjs/types/blog.js.map +1 -0
- package/dist/cjs/types/callout.js +6 -0
- package/dist/cjs/types/callout.js.map +1 -0
- package/dist/cjs/types/dependencies.js +4 -0
- package/dist/cjs/types/dependencies.js.map +1 -0
- package/dist/cjs/types/entity.js +4 -0
- package/dist/cjs/types/entity.js.map +1 -0
- package/dist/cjs/types/link-types.js +62 -0
- package/dist/cjs/types/link-types.js.map +1 -0
- package/dist/cjs/types/page-section.js +4 -0
- package/dist/cjs/types/page-section.js.map +1 -0
- package/dist/cjs/types/placement.js +4 -0
- package/dist/cjs/types/placement.js.map +1 -0
- package/dist/cjs/types/redirectEvent.js +27 -0
- package/dist/cjs/types/redirectEvent.js.map +1 -0
- package/dist/cjs/types/userQueryEvent.js +19 -0
- package/dist/cjs/types/userQueryEvent.js.map +1 -0
- package/dist/cjs/utils/analyticsEvents.js +91 -0
- package/dist/cjs/utils/analyticsEvents.js.map +1 -0
- package/dist/cjs/utils/componentTracking.js +90 -0
- package/dist/cjs/utils/componentTracking.js.map +1 -0
- package/dist/cjs/utils/contentKeywordMatcher.js +56 -0
- package/dist/cjs/utils/contentKeywordMatcher.js.map +1 -0
- package/dist/cjs/utils/conversationApi.js +52 -0
- package/dist/cjs/utils/conversationApi.js.map +1 -0
- package/dist/cjs/utils/conversationMode.js +23 -0
- package/dist/cjs/utils/conversationMode.js.map +1 -0
- package/dist/cjs/utils/diagnosticsCollector.js +58 -0
- package/dist/cjs/utils/diagnosticsCollector.js.map +1 -0
- package/dist/cjs/utils/entityLinkParser.js +256 -0
- package/dist/cjs/utils/entityLinkParser.js.map +1 -0
- package/dist/cjs/utils/htmlCommentParser.js +122 -0
- package/dist/cjs/utils/htmlCommentParser.js.map +1 -0
- package/dist/cjs/utils/image-utils.js +49 -0
- package/dist/cjs/utils/image-utils.js.map +1 -0
- package/dist/cjs/utils/intentExtractor.js +47 -0
- package/dist/cjs/utils/intentExtractor.js.map +1 -0
- package/dist/cjs/utils/markdownPreprocessor.js +268 -0
- package/dist/cjs/utils/markdownPreprocessor.js.map +1 -0
- package/dist/cjs/utils/navigationStack.js +35 -0
- package/dist/cjs/utils/navigationStack.js.map +1 -0
- package/dist/cjs/utils/nodeMatchers.js +43 -0
- package/dist/cjs/utils/nodeMatchers.js.map +1 -0
- package/dist/cjs/utils/propsExtractor.js +66 -0
- package/dist/cjs/utils/propsExtractor.js.map +1 -0
- package/dist/cjs/utils/sessionManager.js +161 -0
- package/dist/cjs/utils/sessionManager.js.map +1 -0
- package/dist/cjs/utils/unifiedMarkdownParser.js +44 -0
- package/dist/cjs/utils/unifiedMarkdownParser.js.map +1 -0
- package/dist/cjs/utils/web5LinkValidator.js +56 -0
- package/dist/cjs/utils/web5LinkValidator.js.map +1 -0
- package/dist/cjs/utils/web5LinkValidator.test.js +115 -0
- package/dist/cjs/utils/web5LinkValidator.test.js.map +1 -0
- package/dist/esm/client/clientBundleOverride.js +43 -0
- package/dist/esm/client/clientBundleOverride.js.map +1 -0
- package/dist/esm/client/devEnvironment.js +2 -0
- package/dist/esm/client/devEnvironment.js.map +1 -0
- package/dist/esm/client/loadClientBundle.js +82 -0
- package/dist/esm/client/loadClientBundle.js.map +1 -0
- package/dist/esm/client/wixAuthFetch.js +68 -0
- package/dist/esm/client/wixAuthFetch.js.map +1 -0
- package/dist/esm/clients.js +11 -0
- package/dist/esm/clients.js.map +1 -0
- package/dist/esm/color/colorUtils.js +118 -0
- package/dist/esm/color/colorUtils.js.map +1 -0
- package/dist/esm/component/componentDefinitions/CalloutSectionDefinition.js +61 -0
- package/dist/esm/component/componentDefinitions/CalloutSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/ComparisonSectionDefinition.js +135 -0
- package/dist/esm/component/componentDefinitions/ComparisonSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/CtaBannerSectionDefinition.js +79 -0
- package/dist/esm/component/componentDefinitions/CtaBannerSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/EntitySectionDefinition.js +165 -0
- package/dist/esm/component/componentDefinitions/EntitySectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/ErrorSectionDefinition.js +75 -0
- package/dist/esm/component/componentDefinitions/ErrorSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/FallbackSectionDefinition.js +23 -0
- package/dist/esm/component/componentDefinitions/FallbackSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/FeatureCardsSectionDefinition.js +113 -0
- package/dist/esm/component/componentDefinitions/FeatureCardsSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/FeatureSection9PlusDefinition.js +69 -0
- package/dist/esm/component/componentDefinitions/FeatureSection9PlusDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/HeroEntitySectionDefinition.js +119 -0
- package/dist/esm/component/componentDefinitions/HeroEntitySectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/HeroSectionDefinition.js +203 -0
- package/dist/esm/component/componentDefinitions/HeroSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/HtmlCommentSectionDefinition.js +13 -0
- package/dist/esm/component/componentDefinitions/HtmlCommentSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/KpiSectionDefinition.js +108 -0
- package/dist/esm/component/componentDefinitions/KpiSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/NextStepsSectionDefinition.js +130 -0
- package/dist/esm/component/componentDefinitions/NextStepsSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/SearchSectionDefinition.js +12 -0
- package/dist/esm/component/componentDefinitions/SearchSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/SkipNodesSectionDefinition.js +14 -0
- package/dist/esm/component/componentDefinitions/SkipNodesSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/TextBlockSectionDefinition.js +59 -0
- package/dist/esm/component/componentDefinitions/TextBlockSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/index.js +45 -0
- package/dist/esm/component/componentDefinitions/index.js.map +1 -0
- package/dist/esm/component/componentDefinitions/listItemsSectionDefinition.js +80 -0
- package/dist/esm/component/componentDefinitions/listItemsSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/parse-utils.js +412 -0
- package/dist/esm/component/componentDefinitions/parse-utils.js.map +1 -0
- package/dist/esm/component/componentDefinitions/specHelpers.js +31 -0
- package/dist/esm/component/componentDefinitions/specHelpers.js.map +1 -0
- package/dist/esm/component/componentParser.js +358 -0
- package/dist/esm/component/componentParser.js.map +1 -0
- package/dist/esm/component/diagnosticTypes.js +26 -0
- package/dist/esm/component/diagnosticTypes.js.map +1 -0
- package/dist/esm/component/parser-types.js +2 -0
- package/dist/esm/component/parser-types.js.map +1 -0
- package/dist/esm/component/section-definition.js +2 -0
- package/dist/esm/component/section-definition.js.map +1 -0
- package/dist/esm/component/types.js +2 -0
- package/dist/esm/component/types.js.map +1 -0
- package/dist/esm/components/placement/PlacementPayloadContext.js +24 -0
- package/dist/esm/components/placement/PlacementPayloadContext.js.map +1 -0
- package/dist/esm/components/placement/PlacementResponseRenderer.css +269 -0
- package/dist/esm/components/placement/PlacementResponseRenderer.js +173 -0
- package/dist/esm/components/placement/PlacementResponseRenderer.js.map +1 -0
- package/dist/esm/components/placement/buildPlacementDependencies.js +212 -0
- package/dist/esm/components/placement/buildPlacementDependencies.js.map +1 -0
- package/dist/esm/components/ui/BottomContainer.js +14 -0
- package/dist/esm/components/ui/BottomContainer.js.map +1 -0
- package/dist/esm/components/ui/CalloutBlock.js +118 -0
- package/dist/esm/components/ui/CalloutBlock.js.map +1 -0
- package/dist/esm/components/ui/Disclaimer.css +35 -0
- package/dist/esm/components/ui/Disclaimer.js +32 -0
- package/dist/esm/components/ui/Disclaimer.js.map +1 -0
- package/dist/esm/components/ui/FeedbackBar.css +267 -0
- package/dist/esm/components/ui/FeedbackBar.js +221 -0
- package/dist/esm/components/ui/FeedbackBar.js.map +1 -0
- package/dist/esm/components/ui/Loader.js +43 -0
- package/dist/esm/components/ui/Loader.js.map +1 -0
- package/dist/esm/components/ui/MarkdownText.js +283 -0
- package/dist/esm/components/ui/MarkdownText.js.map +1 -0
- package/dist/esm/components/ui/OptimizedImage.js +354 -0
- package/dist/esm/components/ui/OptimizedImage.js.map +1 -0
- package/dist/esm/components/ui/PlacementLoader.css +101 -0
- package/dist/esm/components/ui/PlacementLoader.js +28 -0
- package/dist/esm/components/ui/PlacementLoader.js.map +1 -0
- package/dist/esm/components/ui/PromptEntryEmptyState.css +172 -0
- package/dist/esm/components/ui/PromptEntryEmptyState.js +36 -0
- package/dist/esm/components/ui/PromptEntryEmptyState.js.map +1 -0
- package/dist/esm/components/ui/SearchSection.css +538 -0
- package/dist/esm/components/ui/SearchSection.js +317 -0
- package/dist/esm/components/ui/SearchSection.js.map +1 -0
- package/dist/esm/components/ui/SectionSkeleton.css +109 -0
- package/dist/esm/components/ui/SectionSkeleton.js +100 -0
- package/dist/esm/components/ui/SectionSkeleton.js.map +1 -0
- package/dist/esm/components/ui/SmartIcon.js +91 -0
- package/dist/esm/components/ui/SmartIcon.js.map +1 -0
- package/dist/esm/components/ui/UnifiedLink.js +105 -0
- package/dist/esm/components/ui/UnifiedLink.js.map +1 -0
- package/dist/esm/components/ui/UserQuery.js +167 -0
- package/dist/esm/components/ui/UserQuery.js.map +1 -0
- package/dist/esm/components/ui/icons/ArrowTopRightIcon.js +17 -0
- package/dist/esm/components/ui/icons/ArrowTopRightIcon.js.map +1 -0
- package/dist/esm/components/ui/icons/ArrowUpIcon.js +29 -0
- package/dist/esm/components/ui/icons/ArrowUpIcon.js.map +1 -0
- package/dist/esm/components/ui/icons/CheckIcon.js +17 -0
- package/dist/esm/components/ui/icons/CheckIcon.js.map +1 -0
- package/dist/esm/components/ui/icons/CommentIcon.js +15 -0
- package/dist/esm/components/ui/icons/CommentIcon.js.map +1 -0
- package/dist/esm/components/ui/icons/PlusIcon.js +25 -0
- package/dist/esm/components/ui/icons/PlusIcon.js.map +1 -0
- package/dist/esm/components/ui/icons/RedoIcon.js +25 -0
- package/dist/esm/components/ui/icons/RedoIcon.js.map +1 -0
- package/dist/esm/components/ui/icons/ShareIcon.js +37 -0
- package/dist/esm/components/ui/icons/ShareIcon.js.map +1 -0
- package/dist/esm/components/ui/icons/UndoIcon.js +25 -0
- package/dist/esm/components/ui/icons/UndoIcon.js.map +1 -0
- package/dist/esm/components/ui/table.js +92 -0
- package/dist/esm/components/ui/table.js.map +1 -0
- package/dist/esm/context/ChipsContext.js +7 -0
- package/dist/esm/context/ChipsContext.js.map +1 -0
- package/dist/esm/context/ComponentDependenciesContext.js +19 -0
- package/dist/esm/context/ComponentDependenciesContext.js.map +1 -0
- package/dist/esm/entity/defaultExtractor.js +111 -0
- package/dist/esm/entity/defaultExtractor.js.map +1 -0
- package/dist/esm/entity/enrichEntitiesFromPayload.js +35 -0
- package/dist/esm/entity/enrichEntitiesFromPayload.js.map +1 -0
- package/dist/esm/entity/fetchEntityListData.js +76 -0
- package/dist/esm/entity/fetchEntityListData.js.map +1 -0
- package/dist/esm/entity/index.js +29 -0
- package/dist/esm/entity/index.js.map +1 -0
- package/dist/esm/entity/types.js +2 -0
- package/dist/esm/entity/types.js.map +1 -0
- package/dist/esm/errors/conversationErrorTypes.js +50 -0
- package/dist/esm/errors/conversationErrorTypes.js.map +1 -0
- package/dist/esm/errors/errorTemplates.js +81 -0
- package/dist/esm/errors/errorTemplates.js.map +1 -0
- package/dist/esm/errors/index.js +3 -0
- package/dist/esm/errors/index.js.map +1 -0
- package/dist/esm/external-types.d.js +2 -0
- package/dist/esm/external-types.d.js.map +1 -0
- package/dist/esm/featureToggles/FeatureToggleContext.js +30 -0
- package/dist/esm/featureToggles/FeatureToggleContext.js.map +1 -0
- package/dist/esm/hooks/useConversation.js +6 -0
- package/dist/esm/hooks/useConversation.js.map +1 -0
- package/dist/esm/hooks/useDebugImageContext.js +6 -0
- package/dist/esm/hooks/useDebugImageContext.js.map +1 -0
- package/dist/esm/hooks/useEntityTransforms.js +6 -0
- package/dist/esm/hooks/useEntityTransforms.js.map +1 -0
- package/dist/esm/hooks/useMarkdownUtils.js +6 -0
- package/dist/esm/hooks/useMarkdownUtils.js.map +1 -0
- package/dist/esm/hooks/useResolveGenericEntityData.js +6 -0
- package/dist/esm/hooks/useResolveGenericEntityData.js.map +1 -0
- package/dist/esm/hooks/useResolveSearchSpringEntityData.js +146 -0
- package/dist/esm/hooks/useResolveSearchSpringEntityData.js.map +1 -0
- package/dist/esm/hooks/useResolveShopifyEntityData.js +191 -0
- package/dist/esm/hooks/useResolveShopifyEntityData.js.map +1 -0
- package/dist/esm/hooks/useResolvedImageSources.js +169 -0
- package/dist/esm/hooks/useResolvedImageSources.js.map +1 -0
- package/dist/esm/hooks/useWeb5Link.js +6 -0
- package/dist/esm/hooks/useWeb5Link.js.map +1 -0
- package/dist/esm/image/contextualImageTypes.js +2 -0
- package/dist/esm/image/contextualImageTypes.js.map +1 -0
- package/dist/esm/image/imageSearchFilterTypes.js +15 -0
- package/dist/esm/image/imageSearchFilterTypes.js.map +1 -0
- package/dist/esm/image/imageSearchFilters.js +18 -0
- package/dist/esm/image/imageSearchFilters.js.map +1 -0
- package/dist/esm/index.js +152 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/lib/utils.js +33 -0
- package/dist/esm/lib/utils.js.map +1 -0
- package/dist/esm/markdownBlocks.js +641 -0
- package/dist/esm/markdownBlocks.js.map +1 -0
- package/dist/esm/match/astToParts.js +371 -0
- package/dist/esm/match/astToParts.js.map +1 -0
- package/dist/esm/match/extractProps.js +634 -0
- package/dist/esm/match/extractProps.js.map +1 -0
- package/dist/esm/match/index.js +4 -0
- package/dist/esm/match/index.js.map +1 -0
- package/dist/esm/match/matchAllSections.js +31 -0
- package/dist/esm/match/matchAllSections.js.map +1 -0
- package/dist/esm/match/matchMarkdown.js +36 -0
- package/dist/esm/match/matchMarkdown.js.map +1 -0
- package/dist/esm/parts/parts.js +171 -0
- package/dist/esm/parts/parts.js.map +1 -0
- package/dist/esm/patternAnalyzer/conflictDetector.js +99 -0
- package/dist/esm/patternAnalyzer/conflictDetector.js.map +1 -0
- package/dist/esm/patternAnalyzer/index.js +36 -0
- package/dist/esm/patternAnalyzer/index.js.map +1 -0
- package/dist/esm/patternAnalyzer/markdownGenerator.js +344 -0
- package/dist/esm/patternAnalyzer/markdownGenerator.js.map +1 -0
- package/dist/esm/patternAnalyzer/mergeDetector.js +504 -0
- package/dist/esm/patternAnalyzer/mergeDetector.js.map +1 -0
- package/dist/esm/patternAnalyzer/parserValidator.js +52 -0
- package/dist/esm/patternAnalyzer/parserValidator.js.map +1 -0
- package/dist/esm/patternAnalyzer/patternWriter.js +102 -0
- package/dist/esm/patternAnalyzer/patternWriter.js.map +1 -0
- package/dist/esm/patternAnalyzer/run.js +138 -0
- package/dist/esm/patternAnalyzer/run.js.map +1 -0
- package/dist/esm/patternAnalyzer/types.js +2 -0
- package/dist/esm/patternAnalyzer/types.js.map +1 -0
- package/dist/esm/patternValidator/ERROR_MESSAGES.md +110 -0
- package/dist/esm/patternValidator/README.md +757 -0
- package/dist/esm/patternValidator/automaton.js +345 -0
- package/dist/esm/patternValidator/automaton.js.map +1 -0
- package/dist/esm/patternValidator/index.js +190 -0
- package/dist/esm/patternValidator/index.js.map +1 -0
- package/dist/esm/patternValidator/lexer.js +214 -0
- package/dist/esm/patternValidator/lexer.js.map +1 -0
- package/dist/esm/patternValidator/matcher.js +717 -0
- package/dist/esm/patternValidator/matcher.js.map +1 -0
- package/dist/esm/patternValidator/parser.js +531 -0
- package/dist/esm/patternValidator/parser.js.map +1 -0
- package/dist/esm/patternValidator/types.js +2 -0
- package/dist/esm/patternValidator/types.js.map +1 -0
- package/dist/esm/patternValidator/validator.test.js +1275 -0
- package/dist/esm/patternValidator/validator.test.js.map +1 -0
- package/dist/esm/registry/ComponentRegistry.js +435 -0
- package/dist/esm/registry/ComponentRegistry.js.map +1 -0
- package/dist/esm/registry/Intent.js +15 -0
- package/dist/esm/registry/Intent.js.map +1 -0
- package/dist/esm/registry/index.js +3 -0
- package/dist/esm/registry/index.js.map +1 -0
- package/dist/esm/registry/types.js +2 -0
- package/dist/esm/registry/types.js.map +1 -0
- package/dist/esm/services/cart/addToCart.js +146 -0
- package/dist/esm/services/cart/addToCart.js.map +1 -0
- package/dist/esm/services/cart/index.js +2 -0
- package/dist/esm/services/cart/index.js.map +1 -0
- package/dist/esm/services/searchspring/index.js +3 -0
- package/dist/esm/services/searchspring/index.js.map +1 -0
- package/dist/esm/services/searchspring/searchSpringClient.js +44 -0
- package/dist/esm/services/searchspring/searchSpringClient.js.map +1 -0
- package/dist/esm/services/searchspring/transformSSProduct.js +66 -0
- package/dist/esm/services/searchspring/transformSSProduct.js.map +1 -0
- package/dist/esm/services/searchspring/types.js +2 -0
- package/dist/esm/services/searchspring/types.js.map +1 -0
- package/dist/esm/services/shopify/globals.d.js +7 -0
- package/dist/esm/services/shopify/globals.d.js.map +1 -0
- package/dist/esm/services/shopify/index.js +6 -0
- package/dist/esm/services/shopify/index.js.map +1 -0
- package/dist/esm/services/shopify/queries.js +210 -0
- package/dist/esm/services/shopify/queries.js.map +1 -0
- package/dist/esm/services/shopify/resolveStoreDomain.js +25 -0
- package/dist/esm/services/shopify/resolveStoreDomain.js.map +1 -0
- package/dist/esm/services/shopify/shopifyEntityResolver.js +105 -0
- package/dist/esm/services/shopify/shopifyEntityResolver.js.map +1 -0
- package/dist/esm/services/shopify/shopifyStorefrontClient.js +52 -0
- package/dist/esm/services/shopify/shopifyStorefrontClient.js.map +1 -0
- package/dist/esm/services/shopify/transformShopifyEntity.js +130 -0
- package/dist/esm/services/shopify/transformShopifyEntity.js.map +1 -0
- package/dist/esm/services/shopify/types.js +2 -0
- package/dist/esm/services/shopify/types.js.map +1 -0
- package/dist/esm/styles/base-tokens.css +152 -0
- package/dist/esm/styles/base-utilities.css +424 -0
- package/dist/esm/styles/components.css +6 -0
- package/dist/esm/styles/prompt-input-tokens.css +136 -0
- package/dist/esm/styles/tailwind-theme.css +138 -0
- package/dist/esm/test-types.d.js +2 -0
- package/dist/esm/test-types.d.js.map +1 -0
- package/dist/esm/testUtils.js +20 -0
- package/dist/esm/testUtils.js.map +1 -0
- package/dist/esm/types/answerUpdatedEvent.js +16 -0
- package/dist/esm/types/answerUpdatedEvent.js.map +1 -0
- package/dist/esm/types/blog.js +2 -0
- package/dist/esm/types/blog.js.map +1 -0
- package/dist/esm/types/callout.js +2 -0
- package/dist/esm/types/callout.js.map +1 -0
- package/dist/esm/types/dependencies.js +2 -0
- package/dist/esm/types/dependencies.js.map +1 -0
- package/dist/esm/types/entity.js +2 -0
- package/dist/esm/types/entity.js.map +1 -0
- package/dist/esm/types/link-types.js +52 -0
- package/dist/esm/types/link-types.js.map +1 -0
- package/dist/esm/types/page-section.js +2 -0
- package/dist/esm/types/page-section.js.map +1 -0
- package/dist/esm/types/placement.js +2 -0
- package/dist/esm/types/placement.js.map +1 -0
- package/dist/esm/types/redirectEvent.js +23 -0
- package/dist/esm/types/redirectEvent.js.map +1 -0
- package/dist/esm/types/userQueryEvent.js +15 -0
- package/dist/esm/types/userQueryEvent.js.map +1 -0
- package/dist/esm/utils/analyticsEvents.js +84 -0
- package/dist/esm/utils/analyticsEvents.js.map +1 -0
- package/dist/esm/utils/componentTracking.js +84 -0
- package/dist/esm/utils/componentTracking.js.map +1 -0
- package/dist/esm/utils/contentKeywordMatcher.js +50 -0
- package/dist/esm/utils/contentKeywordMatcher.js.map +1 -0
- package/dist/esm/utils/conversationApi.js +45 -0
- package/dist/esm/utils/conversationApi.js.map +1 -0
- package/dist/esm/utils/conversationMode.js +18 -0
- package/dist/esm/utils/conversationMode.js.map +1 -0
- package/dist/esm/utils/diagnosticsCollector.js +52 -0
- package/dist/esm/utils/diagnosticsCollector.js.map +1 -0
- package/dist/esm/utils/entityLinkParser.js +246 -0
- package/dist/esm/utils/entityLinkParser.js.map +1 -0
- package/dist/esm/utils/htmlCommentParser.js +117 -0
- package/dist/esm/utils/htmlCommentParser.js.map +1 -0
- package/dist/esm/utils/image-utils.js +45 -0
- package/dist/esm/utils/image-utils.js.map +1 -0
- package/dist/esm/utils/intentExtractor.js +45 -0
- package/dist/esm/utils/intentExtractor.js.map +1 -0
- package/dist/esm/utils/markdownPreprocessor.js +257 -0
- package/dist/esm/utils/markdownPreprocessor.js.map +1 -0
- package/dist/esm/utils/navigationStack.js +27 -0
- package/dist/esm/utils/navigationStack.js.map +1 -0
- package/dist/esm/utils/nodeMatchers.js +38 -0
- package/dist/esm/utils/nodeMatchers.js.map +1 -0
- package/dist/esm/utils/propsExtractor.js +58 -0
- package/dist/esm/utils/propsExtractor.js.map +1 -0
- package/dist/esm/utils/sessionManager.js +151 -0
- package/dist/esm/utils/sessionManager.js.map +1 -0
- package/dist/esm/utils/unifiedMarkdownParser.js +36 -0
- package/dist/esm/utils/unifiedMarkdownParser.js.map +1 -0
- package/dist/esm/utils/web5LinkValidator.js +52 -0
- package/dist/esm/utils/web5LinkValidator.js.map +1 -0
- package/dist/esm/utils/web5LinkValidator.test.js +113 -0
- package/dist/esm/utils/web5LinkValidator.test.js.map +1 -0
- package/dist/types/client/clientBundleOverride.d.ts +26 -0
- package/dist/types/client/clientBundleOverride.d.ts.map +1 -0
- package/dist/types/client/devEnvironment.d.ts +24 -0
- package/dist/types/client/devEnvironment.d.ts.map +1 -0
- package/dist/types/client/loadClientBundle.d.ts +27 -0
- package/dist/types/client/loadClientBundle.d.ts.map +1 -0
- package/dist/types/client/wixAuthFetch.d.ts +12 -0
- package/dist/types/client/wixAuthFetch.d.ts.map +1 -0
- package/dist/types/clients.d.ts +10 -0
- package/dist/types/clients.d.ts.map +1 -0
- package/dist/types/color/colorUtils.d.ts +9 -0
- package/dist/types/color/colorUtils.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/CalloutSectionDefinition.d.ts +11 -0
- package/dist/types/component/componentDefinitions/CalloutSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/ComparisonSectionDefinition.d.ts +11 -0
- package/dist/types/component/componentDefinitions/ComparisonSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/CtaBannerSectionDefinition.d.ts +11 -0
- package/dist/types/component/componentDefinitions/CtaBannerSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/EntitySectionDefinition.d.ts +11 -0
- package/dist/types/component/componentDefinitions/EntitySectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/ErrorSectionDefinition.d.ts +12 -0
- package/dist/types/component/componentDefinitions/ErrorSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/FallbackSectionDefinition.d.ts +16 -0
- package/dist/types/component/componentDefinitions/FallbackSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/FeatureCardsSectionDefinition.d.ts +11 -0
- package/dist/types/component/componentDefinitions/FeatureCardsSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/FeatureSection9PlusDefinition.d.ts +11 -0
- package/dist/types/component/componentDefinitions/FeatureSection9PlusDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/HeroEntitySectionDefinition.d.ts +23 -0
- package/dist/types/component/componentDefinitions/HeroEntitySectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/HeroSectionDefinition.d.ts +12 -0
- package/dist/types/component/componentDefinitions/HeroSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/HtmlCommentSectionDefinition.d.ts +11 -0
- package/dist/types/component/componentDefinitions/HtmlCommentSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/KpiSectionDefinition.d.ts +11 -0
- package/dist/types/component/componentDefinitions/KpiSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/NextStepsSectionDefinition.d.ts +11 -0
- package/dist/types/component/componentDefinitions/NextStepsSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/SearchSectionDefinition.d.ts +10 -0
- package/dist/types/component/componentDefinitions/SearchSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/SkipNodesSectionDefinition.d.ts +12 -0
- package/dist/types/component/componentDefinitions/SkipNodesSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/TextBlockSectionDefinition.d.ts +11 -0
- package/dist/types/component/componentDefinitions/TextBlockSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/index.d.ts +26 -0
- package/dist/types/component/componentDefinitions/index.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/listItemsSectionDefinition.d.ts +11 -0
- package/dist/types/component/componentDefinitions/listItemsSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/parse-utils.d.ts +88 -0
- package/dist/types/component/componentDefinitions/parse-utils.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/specHelpers.d.ts +16 -0
- package/dist/types/component/componentDefinitions/specHelpers.d.ts.map +1 -0
- package/dist/types/component/componentParser.d.ts +63 -0
- package/dist/types/component/componentParser.d.ts.map +1 -0
- package/dist/types/component/diagnosticTypes.d.ts +23 -0
- package/dist/types/component/diagnosticTypes.d.ts.map +1 -0
- package/dist/types/component/parser-types.d.ts +71 -0
- package/dist/types/component/parser-types.d.ts.map +1 -0
- package/dist/types/component/section-definition.d.ts +32 -0
- package/dist/types/component/section-definition.d.ts.map +1 -0
- package/dist/types/component/types.d.ts +315 -0
- package/dist/types/component/types.d.ts.map +1 -0
- package/dist/types/components/placement/PlacementPayloadContext.d.ts +20 -0
- package/dist/types/components/placement/PlacementPayloadContext.d.ts.map +1 -0
- package/dist/types/components/placement/PlacementResponseRenderer.d.ts +106 -0
- package/dist/types/components/placement/PlacementResponseRenderer.d.ts.map +1 -0
- package/dist/types/components/placement/buildPlacementDependencies.d.ts +44 -0
- package/dist/types/components/placement/buildPlacementDependencies.d.ts.map +1 -0
- package/dist/types/components/ui/BottomContainer.d.ts +9 -0
- package/dist/types/components/ui/BottomContainer.d.ts.map +1 -0
- package/dist/types/components/ui/CalloutBlock.d.ts +9 -0
- package/dist/types/components/ui/CalloutBlock.d.ts.map +1 -0
- package/dist/types/components/ui/Disclaimer.d.ts +21 -0
- package/dist/types/components/ui/Disclaimer.d.ts.map +1 -0
- package/dist/types/components/ui/FeedbackBar.d.ts +41 -0
- package/dist/types/components/ui/FeedbackBar.d.ts.map +1 -0
- package/dist/types/components/ui/Loader.d.ts +9 -0
- package/dist/types/components/ui/Loader.d.ts.map +1 -0
- package/dist/types/components/ui/MarkdownText.d.ts +9 -0
- package/dist/types/components/ui/MarkdownText.d.ts.map +1 -0
- package/dist/types/components/ui/OptimizedImage.d.ts +59 -0
- package/dist/types/components/ui/OptimizedImage.d.ts.map +1 -0
- package/dist/types/components/ui/PlacementLoader.d.ts +15 -0
- package/dist/types/components/ui/PlacementLoader.d.ts.map +1 -0
- package/dist/types/components/ui/PromptEntryEmptyState.d.ts +21 -0
- package/dist/types/components/ui/PromptEntryEmptyState.d.ts.map +1 -0
- package/dist/types/components/ui/SearchSection.d.ts +37 -0
- package/dist/types/components/ui/SearchSection.d.ts.map +1 -0
- package/dist/types/components/ui/SectionSkeleton.d.ts +27 -0
- package/dist/types/components/ui/SectionSkeleton.d.ts.map +1 -0
- package/dist/types/components/ui/SmartIcon.d.ts +19 -0
- package/dist/types/components/ui/SmartIcon.d.ts.map +1 -0
- package/dist/types/components/ui/UnifiedLink.d.ts +22 -0
- package/dist/types/components/ui/UnifiedLink.d.ts.map +1 -0
- package/dist/types/components/ui/UserQuery.d.ts +33 -0
- package/dist/types/components/ui/UserQuery.d.ts.map +1 -0
- package/dist/types/components/ui/icons/ArrowTopRightIcon.d.ts +3 -0
- package/dist/types/components/ui/icons/ArrowTopRightIcon.d.ts.map +1 -0
- package/dist/types/components/ui/icons/ArrowUpIcon.d.ts +3 -0
- package/dist/types/components/ui/icons/ArrowUpIcon.d.ts.map +1 -0
- package/dist/types/components/ui/icons/CheckIcon.d.ts +3 -0
- package/dist/types/components/ui/icons/CheckIcon.d.ts.map +1 -0
- package/dist/types/components/ui/icons/CommentIcon.d.ts +3 -0
- package/dist/types/components/ui/icons/CommentIcon.d.ts.map +1 -0
- package/dist/types/components/ui/icons/PlusIcon.d.ts +3 -0
- package/dist/types/components/ui/icons/PlusIcon.d.ts.map +1 -0
- package/dist/types/components/ui/icons/RedoIcon.d.ts +3 -0
- package/dist/types/components/ui/icons/RedoIcon.d.ts.map +1 -0
- package/dist/types/components/ui/icons/ShareIcon.d.ts +3 -0
- package/dist/types/components/ui/icons/ShareIcon.d.ts.map +1 -0
- package/dist/types/components/ui/icons/UndoIcon.d.ts +3 -0
- package/dist/types/components/ui/icons/UndoIcon.d.ts.map +1 -0
- package/dist/types/components/ui/table.d.ts +11 -0
- package/dist/types/components/ui/table.d.ts.map +1 -0
- package/dist/types/context/ChipsContext.d.ts +8 -0
- package/dist/types/context/ChipsContext.d.ts.map +1 -0
- package/dist/types/context/ComponentDependenciesContext.d.ts +8 -0
- package/dist/types/context/ComponentDependenciesContext.d.ts.map +1 -0
- package/dist/types/entity/defaultExtractor.d.ts +14 -0
- package/dist/types/entity/defaultExtractor.d.ts.map +1 -0
- package/dist/types/entity/enrichEntitiesFromPayload.d.ts +27 -0
- package/dist/types/entity/enrichEntitiesFromPayload.d.ts.map +1 -0
- package/dist/types/entity/fetchEntityListData.d.ts +20 -0
- package/dist/types/entity/fetchEntityListData.d.ts.map +1 -0
- package/dist/types/entity/index.d.ts +16 -0
- package/dist/types/entity/index.d.ts.map +1 -0
- package/dist/types/entity/types.d.ts +13 -0
- package/dist/types/entity/types.d.ts.map +1 -0
- package/dist/types/errors/conversationErrorTypes.d.ts +20 -0
- package/dist/types/errors/conversationErrorTypes.d.ts.map +1 -0
- package/dist/types/errors/errorTemplates.d.ts +27 -0
- package/dist/types/errors/errorTemplates.d.ts.map +1 -0
- package/dist/types/errors/index.d.ts +3 -0
- package/dist/types/errors/index.d.ts.map +1 -0
- package/dist/types/featureToggles/FeatureToggleContext.d.ts +18 -0
- package/dist/types/featureToggles/FeatureToggleContext.d.ts.map +1 -0
- package/dist/types/hooks/useConversation.d.ts +3 -0
- package/dist/types/hooks/useConversation.d.ts.map +1 -0
- package/dist/types/hooks/useDebugImageContext.d.ts +2 -0
- package/dist/types/hooks/useDebugImageContext.d.ts.map +1 -0
- package/dist/types/hooks/useEntityTransforms.d.ts +3 -0
- package/dist/types/hooks/useEntityTransforms.d.ts.map +1 -0
- package/dist/types/hooks/useMarkdownUtils.d.ts +3 -0
- package/dist/types/hooks/useMarkdownUtils.d.ts.map +1 -0
- package/dist/types/hooks/useResolveGenericEntityData.d.ts +11 -0
- package/dist/types/hooks/useResolveGenericEntityData.d.ts.map +1 -0
- package/dist/types/hooks/useResolveSearchSpringEntityData.d.ts +20 -0
- package/dist/types/hooks/useResolveSearchSpringEntityData.d.ts.map +1 -0
- package/dist/types/hooks/useResolveShopifyEntityData.d.ts +21 -0
- package/dist/types/hooks/useResolveShopifyEntityData.d.ts.map +1 -0
- package/dist/types/hooks/useResolvedImageSources.d.ts +6 -0
- package/dist/types/hooks/useResolvedImageSources.d.ts.map +1 -0
- package/dist/types/hooks/useWeb5Link.d.ts +3 -0
- package/dist/types/hooks/useWeb5Link.d.ts.map +1 -0
- package/dist/types/image/contextualImageTypes.d.ts +17 -0
- package/dist/types/image/contextualImageTypes.d.ts.map +1 -0
- package/dist/types/image/imageSearchFilterTypes.d.ts +14 -0
- package/dist/types/image/imageSearchFilterTypes.d.ts.map +1 -0
- package/dist/types/image/imageSearchFilters.d.ts +16 -0
- package/dist/types/image/imageSearchFilters.d.ts.map +1 -0
- package/dist/types/index.d.ts +88 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/lib/utils.d.ts +3 -0
- package/dist/types/lib/utils.d.ts.map +1 -0
- package/dist/types/markdownBlocks.d.ts +44 -0
- package/dist/types/markdownBlocks.d.ts.map +1 -0
- package/dist/types/match/astToParts.d.ts +15 -0
- package/dist/types/match/astToParts.d.ts.map +1 -0
- package/dist/types/match/extractProps.d.ts +207 -0
- package/dist/types/match/extractProps.d.ts.map +1 -0
- package/dist/types/match/index.d.ts +4 -0
- package/dist/types/match/index.d.ts.map +1 -0
- package/dist/types/match/matchAllSections.d.ts +15 -0
- package/dist/types/match/matchAllSections.d.ts.map +1 -0
- package/dist/types/match/matchMarkdown.d.ts +25 -0
- package/dist/types/match/matchMarkdown.d.ts.map +1 -0
- package/dist/types/parts/parts.d.ts +144 -0
- package/dist/types/parts/parts.d.ts.map +1 -0
- package/dist/types/patternAnalyzer/conflictDetector.d.ts +19 -0
- package/dist/types/patternAnalyzer/conflictDetector.d.ts.map +1 -0
- package/dist/types/patternAnalyzer/index.d.ts +10 -0
- package/dist/types/patternAnalyzer/index.d.ts.map +1 -0
- package/dist/types/patternAnalyzer/markdownGenerator.d.ts +9 -0
- package/dist/types/patternAnalyzer/markdownGenerator.d.ts.map +1 -0
- package/dist/types/patternAnalyzer/mergeDetector.d.ts +14 -0
- package/dist/types/patternAnalyzer/mergeDetector.d.ts.map +1 -0
- package/dist/types/patternAnalyzer/parserValidator.d.ts +13 -0
- package/dist/types/patternAnalyzer/parserValidator.d.ts.map +1 -0
- package/dist/types/patternAnalyzer/patternWriter.d.ts +8 -0
- package/dist/types/patternAnalyzer/patternWriter.d.ts.map +1 -0
- package/dist/types/patternAnalyzer/run.d.ts +2 -0
- package/dist/types/patternAnalyzer/run.d.ts.map +1 -0
- package/dist/types/patternAnalyzer/types.d.ts +59 -0
- package/dist/types/patternAnalyzer/types.d.ts.map +1 -0
- package/dist/types/patternValidator/automaton.d.ts +3 -0
- package/dist/types/patternValidator/automaton.d.ts.map +1 -0
- package/dist/types/patternValidator/index.d.ts +48 -0
- package/dist/types/patternValidator/index.d.ts.map +1 -0
- package/dist/types/patternValidator/lexer.d.ts +3 -0
- package/dist/types/patternValidator/lexer.d.ts.map +1 -0
- package/dist/types/patternValidator/matcher.d.ts +14 -0
- package/dist/types/patternValidator/matcher.d.ts.map +1 -0
- package/dist/types/patternValidator/parser.d.ts +14 -0
- package/dist/types/patternValidator/parser.d.ts.map +1 -0
- package/dist/types/patternValidator/types.d.ts +125 -0
- package/dist/types/patternValidator/types.d.ts.map +1 -0
- package/dist/types/patternValidator/validator.test.d.ts +2 -0
- package/dist/types/patternValidator/validator.test.d.ts.map +1 -0
- package/dist/types/registry/ComponentRegistry.d.ts +64 -0
- package/dist/types/registry/ComponentRegistry.d.ts.map +1 -0
- package/dist/types/registry/Intent.d.ts +12 -0
- package/dist/types/registry/Intent.d.ts.map +1 -0
- package/dist/types/registry/index.d.ts +4 -0
- package/dist/types/registry/index.d.ts.map +1 -0
- package/dist/types/registry/types.d.ts +99 -0
- package/dist/types/registry/types.d.ts.map +1 -0
- package/dist/types/services/cart/addToCart.d.ts +26 -0
- package/dist/types/services/cart/addToCart.d.ts.map +1 -0
- package/dist/types/services/cart/index.d.ts +2 -0
- package/dist/types/services/cart/index.d.ts.map +1 -0
- package/dist/types/services/searchspring/index.d.ts +4 -0
- package/dist/types/services/searchspring/index.d.ts.map +1 -0
- package/dist/types/services/searchspring/searchSpringClient.d.ts +13 -0
- package/dist/types/services/searchspring/searchSpringClient.d.ts.map +1 -0
- package/dist/types/services/searchspring/transformSSProduct.d.ts +7 -0
- package/dist/types/services/searchspring/transformSSProduct.d.ts.map +1 -0
- package/dist/types/services/searchspring/types.d.ts +48 -0
- package/dist/types/services/searchspring/types.d.ts.map +1 -0
- package/dist/types/services/shopify/index.d.ts +7 -0
- package/dist/types/services/shopify/index.d.ts.map +1 -0
- package/dist/types/services/shopify/queries.d.ts +13 -0
- package/dist/types/services/shopify/queries.d.ts.map +1 -0
- package/dist/types/services/shopify/resolveStoreDomain.d.ts +14 -0
- package/dist/types/services/shopify/resolveStoreDomain.d.ts.map +1 -0
- package/dist/types/services/shopify/shopifyEntityResolver.d.ts +21 -0
- package/dist/types/services/shopify/shopifyEntityResolver.d.ts.map +1 -0
- package/dist/types/services/shopify/shopifyStorefrontClient.d.ts +19 -0
- package/dist/types/services/shopify/shopifyStorefrontClient.d.ts.map +1 -0
- package/dist/types/services/shopify/transformShopifyEntity.d.ts +11 -0
- package/dist/types/services/shopify/transformShopifyEntity.d.ts.map +1 -0
- package/dist/types/services/shopify/types.d.ts +109 -0
- package/dist/types/services/shopify/types.d.ts.map +1 -0
- package/dist/types/testUtils.d.ts +7 -0
- package/dist/types/testUtils.d.ts.map +1 -0
- package/dist/types/types/answerUpdatedEvent.d.ts +29 -0
- package/dist/types/types/answerUpdatedEvent.d.ts.map +1 -0
- package/dist/types/types/blog.d.ts +22 -0
- package/dist/types/types/blog.d.ts.map +1 -0
- package/dist/types/types/callout.d.ts +7 -0
- package/dist/types/types/callout.d.ts.map +1 -0
- package/dist/types/types/dependencies.d.ts +191 -0
- package/dist/types/types/dependencies.d.ts.map +1 -0
- package/dist/types/types/entity.d.ts +38 -0
- package/dist/types/types/entity.d.ts.map +1 -0
- package/dist/types/types/link-types.d.ts +38 -0
- package/dist/types/types/link-types.d.ts.map +1 -0
- package/dist/types/types/page-section.d.ts +27 -0
- package/dist/types/types/page-section.d.ts.map +1 -0
- package/dist/types/types/placement.d.ts +94 -0
- package/dist/types/types/placement.d.ts.map +1 -0
- package/dist/types/types/redirectEvent.d.ts +42 -0
- package/dist/types/types/redirectEvent.d.ts.map +1 -0
- package/dist/types/types/userQueryEvent.d.ts +24 -0
- package/dist/types/types/userQueryEvent.d.ts.map +1 -0
- package/dist/types/utils/analyticsEvents.d.ts +24 -0
- package/dist/types/utils/analyticsEvents.d.ts.map +1 -0
- package/dist/types/utils/componentTracking.d.ts +55 -0
- package/dist/types/utils/componentTracking.d.ts.map +1 -0
- package/dist/types/utils/contentKeywordMatcher.d.ts +14 -0
- package/dist/types/utils/contentKeywordMatcher.d.ts.map +1 -0
- package/dist/types/utils/conversationApi.d.ts +26 -0
- package/dist/types/utils/conversationApi.d.ts.map +1 -0
- package/dist/types/utils/conversationMode.d.ts +16 -0
- package/dist/types/utils/conversationMode.d.ts.map +1 -0
- package/dist/types/utils/diagnosticsCollector.d.ts +33 -0
- package/dist/types/utils/diagnosticsCollector.d.ts.map +1 -0
- package/dist/types/utils/entityLinkParser.d.ts +97 -0
- package/dist/types/utils/entityLinkParser.d.ts.map +1 -0
- package/dist/types/utils/htmlCommentParser.d.ts +13 -0
- package/dist/types/utils/htmlCommentParser.d.ts.map +1 -0
- package/dist/types/utils/image-utils.d.ts +10 -0
- package/dist/types/utils/image-utils.d.ts.map +1 -0
- package/dist/types/utils/intentExtractor.d.ts +11 -0
- package/dist/types/utils/intentExtractor.d.ts.map +1 -0
- package/dist/types/utils/markdownPreprocessor.d.ts +95 -0
- package/dist/types/utils/markdownPreprocessor.d.ts.map +1 -0
- package/dist/types/utils/navigationStack.d.ts +6 -0
- package/dist/types/utils/navigationStack.d.ts.map +1 -0
- package/dist/types/utils/nodeMatchers.d.ts +10 -0
- package/dist/types/utils/nodeMatchers.d.ts.map +1 -0
- package/dist/types/utils/propsExtractor.d.ts +51 -0
- package/dist/types/utils/propsExtractor.d.ts.map +1 -0
- package/dist/types/utils/sessionManager.d.ts +57 -0
- package/dist/types/utils/sessionManager.d.ts.map +1 -0
- package/dist/types/utils/unifiedMarkdownParser.d.ts +9 -0
- package/dist/types/utils/unifiedMarkdownParser.d.ts.map +1 -0
- package/dist/types/utils/web5LinkValidator.d.ts +14 -0
- package/dist/types/utils/web5LinkValidator.d.ts.map +1 -0
- package/dist/types/utils/web5LinkValidator.test.d.ts +2 -0
- package/dist/types/utils/web5LinkValidator.test.d.ts.map +1 -0
- package/package.json +103 -0
- package/src/styles/base-tokens.css +152 -0
- package/src/styles/base-utilities.css +424 -0
- package/src/styles/components.css +6 -0
- package/src/styles/prompt-input-tokens.css +136 -0
- package/src/styles/tailwind-theme.css +138 -0
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.buildPlacementDependencies = buildPlacementDependencies;
|
|
5
|
+
var _react = require("react");
|
|
6
|
+
var _defaultExtractor = require("../../entity/defaultExtractor");
|
|
7
|
+
var _fetchEntityListData = require("../../entity/fetchEntityListData");
|
|
8
|
+
var _PlacementPayloadContext = require("./PlacementPayloadContext");
|
|
9
|
+
/**
|
|
10
|
+
* buildPlacementDependencies (DL #088 D3.4).
|
|
11
|
+
*
|
|
12
|
+
* Produces a `ComponentDependencies` value tailored to the placement surface.
|
|
13
|
+
* The placement-bundled section components consume the same DI hooks the full
|
|
14
|
+
* app does (`useWeb5Link`, `useConversation`, `useMarkdownUtils`, …) but
|
|
15
|
+
* placement needs **different impls** for some of them:
|
|
16
|
+
*
|
|
17
|
+
* - `useWeb5Link` — `web5://` links always redirect to full Web5 (D12).
|
|
18
|
+
* - `useConversation.sendMessage` — calls into the placement bundle's submit
|
|
19
|
+
* pathway (D11/D13) via the `onSubmit` callback.
|
|
20
|
+
* - Everything else — safe defaults (no-ops, passthroughs, or stubs that
|
|
21
|
+
* throw with a clear message if accidentally called by a section that
|
|
22
|
+
* isn't placement-ready).
|
|
23
|
+
*
|
|
24
|
+
* Per OQ10, the exact set of fields that need real impls vs no-ops depends on
|
|
25
|
+
* which section components the loaded client UMD actually registers in
|
|
26
|
+
* placement. v1 ships safe stubs; we tighten them per-section as integration
|
|
27
|
+
* surfaces gaps.
|
|
28
|
+
*
|
|
29
|
+
* The caller can override any field via `opts.overrides`.
|
|
30
|
+
*/
|
|
31
|
+
|
|
32
|
+
const FROM_PARAM = 'from';
|
|
33
|
+
const WEB5_ID_PARAM = 'web5_id';
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Append `web5Id` as `?web5_id=` onto an outbound navigable URL so the
|
|
37
|
+
* destination page's placement renders warm too. Skips `web5://` / `mailto:` /
|
|
38
|
+
* hash- or query-only / cross-origin URLs, preserves the original
|
|
39
|
+
* relative/absolute shape, and is idempotent.
|
|
40
|
+
*/
|
|
41
|
+
function forwardWeb5Id(url, web5Id) {
|
|
42
|
+
if (typeof window === 'undefined' || !url || !web5Id) return url;
|
|
43
|
+
if (url.startsWith('web5://') || url.startsWith('mailto:') || url.startsWith('#') || url.startsWith('?')) {
|
|
44
|
+
return url;
|
|
45
|
+
}
|
|
46
|
+
let target;
|
|
47
|
+
try {
|
|
48
|
+
target = new URL(url, window.location.href);
|
|
49
|
+
} catch {
|
|
50
|
+
return url;
|
|
51
|
+
}
|
|
52
|
+
// Never leak the id cross-site — only decorate same-origin destinations.
|
|
53
|
+
if (target.origin !== window.location.origin) return url;
|
|
54
|
+
if (target.searchParams.get(WEB5_ID_PARAM) === web5Id) return url;
|
|
55
|
+
target.searchParams.set(WEB5_ID_PARAM, web5Id);
|
|
56
|
+
const isAbsolute = /^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(url) || url.startsWith('//');
|
|
57
|
+
return isAbsolute ? target.toString() : target.pathname + target.search + target.hash;
|
|
58
|
+
}
|
|
59
|
+
function makeWeb5LinkApi(opts) {
|
|
60
|
+
const fullAppUrl = opts.fullAppUrl ?? '/web5';
|
|
61
|
+
const decorate = url => {
|
|
62
|
+
const web5Id = opts.getForwardWeb5Id == null ? void 0 : opts.getForwardWeb5Id();
|
|
63
|
+
return web5Id && url ? forwardWeb5Id(url, web5Id) : url;
|
|
64
|
+
};
|
|
65
|
+
const navigateFull = originalUrl => {
|
|
66
|
+
if (typeof window === 'undefined') return;
|
|
67
|
+
const target = `${fullAppUrl}?${FROM_PARAM}=${encodeURIComponent(originalUrl)}`;
|
|
68
|
+
window.location.assign(target);
|
|
69
|
+
};
|
|
70
|
+
return {
|
|
71
|
+
handleLinkClick: (e, url) => {
|
|
72
|
+
if (!url) return;
|
|
73
|
+
if (url.startsWith('web5://')) {
|
|
74
|
+
// D12: web5:// links from placement always redirect to full Web5.
|
|
75
|
+
e.preventDefault();
|
|
76
|
+
navigateFull(url);
|
|
77
|
+
}
|
|
78
|
+
// Other URLs use normal browser navigation (the <a href> default). The
|
|
79
|
+
// href the section already rendered came through `resolveUrl`, so it
|
|
80
|
+
// already carries `?web5_id=` when forwarding is enabled.
|
|
81
|
+
},
|
|
82
|
+
sendWeb5Message: url => navigateFull(url),
|
|
83
|
+
navigateToUrl: url => {
|
|
84
|
+
if (typeof window !== 'undefined') {
|
|
85
|
+
window.location.assign(decorate(url));
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
transformUrl: () => null,
|
|
89
|
+
resolveUrl: url => decorate(url),
|
|
90
|
+
isExternalUrl: () => false,
|
|
91
|
+
isActionRegistered: () => false,
|
|
92
|
+
executeAction: async () => undefined
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
function makeConversationApi(opts) {
|
|
96
|
+
return {
|
|
97
|
+
sendMessage: async (message, trackingOptions) => {
|
|
98
|
+
await (opts.onSubmit == null ? void 0 : opts.onSubmit(message, trackingOptions));
|
|
99
|
+
},
|
|
100
|
+
loadConversationByTriggerId: async () => {
|
|
101
|
+
// No-op for v1 — placement is bound to a single trigger (its own).
|
|
102
|
+
// Browsing other triggers means leaving placement; see D6 history.
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
const STUB_MARKDOWN_UTILS = {
|
|
107
|
+
parseMarkdownToAst: () => ({}),
|
|
108
|
+
extractLinks: () => [],
|
|
109
|
+
extractText: () => ''
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Real entity transforms (DL #099 PR 4). Pure payload-row → entity-data
|
|
114
|
+
* mappers — no React, no host environment — so the placement can wire
|
|
115
|
+
* them in directly. Section components in placement-ready client UMDs
|
|
116
|
+
* pull these via `useEntityTransforms()` and pass them as the
|
|
117
|
+
* `options.transform` to `useResolveGenericEntityData`.
|
|
118
|
+
*
|
|
119
|
+
* Before DL #099 these were throwing stubs because the placement had
|
|
120
|
+
* no payload to feed them. Now the BE's `answer.payload` rides through
|
|
121
|
+
* `PlacementPayloadProvider` and the resolver actually runs.
|
|
122
|
+
*/
|
|
123
|
+
const REAL_ENTITY_TRANSFORMS = {
|
|
124
|
+
transformToSolutionEntityData: _defaultExtractor.transformToSolutionEntityData,
|
|
125
|
+
transformToBlogPostEntityData: _defaultExtractor.transformToBlogPostEntityData,
|
|
126
|
+
transformToGenericEntityData: _defaultExtractor.transformToGenericEntityData
|
|
127
|
+
};
|
|
128
|
+
function buildPlacementDependencies(opts = {}) {
|
|
129
|
+
const web5LinkApi = makeWeb5LinkApi(opts);
|
|
130
|
+
const conversationApi = makeConversationApi(opts);
|
|
131
|
+
const entityFetcher = opts.entityFetcher;
|
|
132
|
+
const built = {
|
|
133
|
+
useWeb5Link: () => web5LinkApi,
|
|
134
|
+
useConversation: () => conversationApi,
|
|
135
|
+
useDebugImageContext: () => false,
|
|
136
|
+
// Real payload-lookup resolver (DL #099 PR 4). Reads the accumulated
|
|
137
|
+
// streaming `answer.payload` and the client UMD's `entityConfig` from
|
|
138
|
+
// `PlacementPayloadProvider`; if either is missing we pass entities
|
|
139
|
+
// through unchanged. No async fallback — the placement has no
|
|
140
|
+
// entity-list API; sections render what the payload provided or nothing.
|
|
141
|
+
useResolveGenericEntityData: (entities, options) => {
|
|
142
|
+
const {
|
|
143
|
+
entityConfig
|
|
144
|
+
} = (0, _PlacementPayloadContext.usePlacementPayload)();
|
|
145
|
+
|
|
146
|
+
// The placement resolves entity data exclusively via the items API
|
|
147
|
+
// — mirroring the main app's `useEntityListData`
|
|
148
|
+
// (web50-server-ui/src/hooks/useEntityListData.ts). The streaming
|
|
149
|
+
// `answer.payload` is intentionally ignored (DL #099 PR 4 follow-up):
|
|
150
|
+
// its shape varies per query and partial coverage caused empty cards.
|
|
151
|
+
const idsToFetch = (0, _react.useMemo)(() => entities.filter(e => !e.data).map(e => e.entityId), [entities]);
|
|
152
|
+
const idsKey = idsToFetch.join(',');
|
|
153
|
+
const [apiData, setApiData] = (0, _react.useState)(() => new Map());
|
|
154
|
+
const [apiSettled, setApiSettled] = (0, _react.useState)(false);
|
|
155
|
+
(0, _react.useEffect)(() => {
|
|
156
|
+
if (!entityFetcher || idsToFetch.length === 0) {
|
|
157
|
+
setApiSettled(true);
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
let cancelled = false;
|
|
161
|
+
setApiSettled(false);
|
|
162
|
+
(0, _fetchEntityListData.fetchEntityListData)(idsToFetch, {
|
|
163
|
+
fetchImpl: entityFetcher
|
|
164
|
+
}).then(map => {
|
|
165
|
+
if (cancelled) return;
|
|
166
|
+
setApiData(prev => {
|
|
167
|
+
if (map.size === 0) return prev;
|
|
168
|
+
const next = new Map(prev);
|
|
169
|
+
for (const [k, v] of map) next.set(k, v);
|
|
170
|
+
return next;
|
|
171
|
+
});
|
|
172
|
+
setApiSettled(true);
|
|
173
|
+
}).catch(() => {
|
|
174
|
+
if (!cancelled) setApiSettled(true);
|
|
175
|
+
});
|
|
176
|
+
return () => {
|
|
177
|
+
cancelled = true;
|
|
178
|
+
};
|
|
179
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
180
|
+
}, [idsKey]);
|
|
181
|
+
|
|
182
|
+
// Merge API rows. Per-type config looked up via entityConfig; falls
|
|
183
|
+
// back to a synthetic config if the client UMD didn't register a row
|
|
184
|
+
// for this entityType (rare).
|
|
185
|
+
const enrichedEntities = (0, _react.useMemo)(() => {
|
|
186
|
+
if (apiData.size === 0) return entities;
|
|
187
|
+
return entities.map(entity => {
|
|
188
|
+
if (entity.data) return entity;
|
|
189
|
+
const raw = apiData.get(entity.entityId);
|
|
190
|
+
if (!raw) return entity;
|
|
191
|
+
const typeConfig = (entityConfig == null ? void 0 : entityConfig.entityTypes[entity.entityType]) ?? {
|
|
192
|
+
payloadType: entity.entityType,
|
|
193
|
+
urlMatchProperty: 'url'
|
|
194
|
+
};
|
|
195
|
+
return {
|
|
196
|
+
...entity,
|
|
197
|
+
data: options.transform(raw, typeConfig)
|
|
198
|
+
};
|
|
199
|
+
});
|
|
200
|
+
}, [entities, apiData, entityConfig]);
|
|
201
|
+
return {
|
|
202
|
+
enrichedEntities,
|
|
203
|
+
loading: !apiSettled
|
|
204
|
+
};
|
|
205
|
+
},
|
|
206
|
+
entityTransforms: REAL_ENTITY_TRANSFORMS,
|
|
207
|
+
markdownUtils: STUB_MARKDOWN_UTILS
|
|
208
|
+
};
|
|
209
|
+
return {
|
|
210
|
+
...built,
|
|
211
|
+
...(opts.overrides ?? {})
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
//# sourceMappingURL=buildPlacementDependencies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_defaultExtractor","_fetchEntityListData","_PlacementPayloadContext","FROM_PARAM","WEB5_ID_PARAM","forwardWeb5Id","url","web5Id","window","startsWith","target","URL","location","href","origin","searchParams","get","set","isAbsolute","test","toString","pathname","search","hash","makeWeb5LinkApi","opts","fullAppUrl","decorate","getForwardWeb5Id","navigateFull","originalUrl","encodeURIComponent","assign","handleLinkClick","e","preventDefault","sendWeb5Message","navigateToUrl","transformUrl","resolveUrl","isExternalUrl","isActionRegistered","executeAction","undefined","makeConversationApi","sendMessage","message","trackingOptions","onSubmit","loadConversationByTriggerId","STUB_MARKDOWN_UTILS","parseMarkdownToAst","extractLinks","extractText","REAL_ENTITY_TRANSFORMS","transformToSolutionEntityData","transformToBlogPostEntityData","transformToGenericEntityData","buildPlacementDependencies","web5LinkApi","conversationApi","entityFetcher","built","useWeb5Link","useConversation","useDebugImageContext","useResolveGenericEntityData","entities","options","entityConfig","usePlacementPayload","idsToFetch","useMemo","filter","data","map","entityId","idsKey","join","apiData","setApiData","useState","Map","apiSettled","setApiSettled","useEffect","length","cancelled","fetchEntityListData","fetchImpl","then","prev","size","next","k","v","catch","enrichedEntities","entity","raw","typeConfig","entityTypes","entityType","payloadType","urlMatchProperty","transform","loading","entityTransforms","markdownUtils","overrides"],"sources":["../../../../src/components/placement/buildPlacementDependencies.ts"],"sourcesContent":["/**\n * buildPlacementDependencies (DL #088 D3.4).\n *\n * Produces a `ComponentDependencies` value tailored to the placement surface.\n * The placement-bundled section components consume the same DI hooks the full\n * app does (`useWeb5Link`, `useConversation`, `useMarkdownUtils`, …) but\n * placement needs **different impls** for some of them:\n *\n * - `useWeb5Link` — `web5://` links always redirect to full Web5 (D12).\n * - `useConversation.sendMessage` — calls into the placement bundle's submit\n * pathway (D11/D13) via the `onSubmit` callback.\n * - Everything else — safe defaults (no-ops, passthroughs, or stubs that\n * throw with a clear message if accidentally called by a section that\n * isn't placement-ready).\n *\n * Per OQ10, the exact set of fields that need real impls vs no-ops depends on\n * which section components the loaded client UMD actually registers in\n * placement. v1 ships safe stubs; we tighten them per-section as integration\n * surfaces gaps.\n *\n * The caller can override any field via `opts.overrides`.\n */\nimport { useEffect, useMemo, useState } from 'react';\nimport type {\n ComponentDependencies,\n Web5LinkApi,\n ConversationApi,\n MarkdownUtils,\n EntityTransforms,\n SendMessageOptions,\n} from '../../types/dependencies';\nimport {\n transformToSolutionEntityData,\n transformToBlogPostEntityData,\n transformToGenericEntityData,\n} from '../../entity/defaultExtractor';\nimport { fetchEntityListData } from '../../entity/fetchEntityListData';\nimport { usePlacementPayload } from './PlacementPayloadContext';\nimport type { ApiPayloadItem, EntityTypeConfig } from '../../types/entity';\n\nexport interface BuildPlacementDependenciesOptions {\n /**\n * URL the placement navigates to when a `web5://` link is clicked or\n * `sendWeb5Message` is called. Defaults to `/web5`. The original URL is\n * passed as a query param so the full app can pick up where placement left off.\n */\n fullAppUrl?: string;\n /**\n * Called when a section component invokes `useConversation().sendMessage(...)`.\n * Wired by the placement bundle to its D10 submit pathway.\n */\n onSubmit?: (\n message: string,\n options?: SendMessageOptions,\n ) => Promise<void> | void;\n /**\n * Auth-aware `fetch` for the items API\n * (`/wix-assistant-web5/v1/items?id=…`). Same Wix-OAuth strategy the\n * placement's conversation fetcher uses — the host page can't make\n * anonymous cross-origin calls to wixapis.com (no\n * Access-Control-Allow-Credentials on the response), so the placement\n * bundle creates a Wix-auth fetcher in `main.ts` and supplies it here.\n * When omitted, the resolver skips the API step and only enriches\n * from the streaming `answer.payload` (DL #099 PR 4).\n */\n entityFetcher?: typeof fetch;\n /**\n * Returns the `web5_id` value to forward onto same-origin navigable URLs the\n * placement's section components resolve (entity cards, links) — the\n * placement's own response trigger id (optionally `<triggerId>;<threadId>`,\n * DL #110), falling back to the page's `?web5_id=`. Read at resolve/navigate\n * time so a value captured mid-stream is used. Mirrors the main app, which\n * forwards its current conversation's trigger id (see web50-server-ui\n * `useWeb5Link.appendWeb5Id`). Carrying it forward keeps the destination\n * page's placement (e.g. `pdpFraming`) warm so it renders. Omit to forward\n * nothing.\n */\n getForwardWeb5Id?: () => string | undefined;\n /**\n * Optional overrides for any of the auto-built deps. Merged shallowly on top\n * of the defaults — pass `useWeb5Link: customHook` to take full control.\n */\n overrides?: Partial<ComponentDependencies>;\n}\n\nconst FROM_PARAM = 'from';\nconst WEB5_ID_PARAM = 'web5_id';\n\n/**\n * Append `web5Id` as `?web5_id=` onto an outbound navigable URL so the\n * destination page's placement renders warm too. Skips `web5://` / `mailto:` /\n * hash- or query-only / cross-origin URLs, preserves the original\n * relative/absolute shape, and is idempotent.\n */\nfunction forwardWeb5Id(url: string, web5Id: string): string {\n if (typeof window === 'undefined' || !url || !web5Id) return url;\n if (\n url.startsWith('web5://') ||\n url.startsWith('mailto:') ||\n url.startsWith('#') ||\n url.startsWith('?')\n ) {\n return url;\n }\n let target: URL;\n try {\n target = new URL(url, window.location.href);\n } catch {\n return url;\n }\n // Never leak the id cross-site — only decorate same-origin destinations.\n if (target.origin !== window.location.origin) return url;\n if (target.searchParams.get(WEB5_ID_PARAM) === web5Id) return url;\n target.searchParams.set(WEB5_ID_PARAM, web5Id);\n const isAbsolute =\n /^[a-zA-Z][a-zA-Z\\d+\\-.]*:/.test(url) || url.startsWith('//');\n return isAbsolute\n ? target.toString()\n : target.pathname + target.search + target.hash;\n}\n\nfunction makeWeb5LinkApi(opts: BuildPlacementDependenciesOptions): Web5LinkApi {\n const fullAppUrl = opts.fullAppUrl ?? '/web5';\n const decorate = <T extends string | undefined>(url: T): T => {\n const web5Id = opts.getForwardWeb5Id?.();\n return web5Id && url ? (forwardWeb5Id(url, web5Id) as T) : url;\n };\n\n const navigateFull = (originalUrl: string): void => {\n if (typeof window === 'undefined') return;\n const target = `${fullAppUrl}?${FROM_PARAM}=${encodeURIComponent(originalUrl)}`;\n window.location.assign(target);\n };\n\n return {\n handleLinkClick: (e, url) => {\n if (!url) return;\n if (url.startsWith('web5://')) {\n // D12: web5:// links from placement always redirect to full Web5.\n e.preventDefault();\n navigateFull(url);\n }\n // Other URLs use normal browser navigation (the <a href> default). The\n // href the section already rendered came through `resolveUrl`, so it\n // already carries `?web5_id=` when forwarding is enabled.\n },\n sendWeb5Message: (url) => navigateFull(url),\n navigateToUrl: (url) => {\n if (typeof window !== 'undefined') {\n window.location.assign(decorate(url));\n }\n },\n transformUrl: () => null,\n resolveUrl: (url) => decorate(url),\n isExternalUrl: () => false,\n isActionRegistered: () => false,\n executeAction: async () => undefined,\n };\n}\n\nfunction makeConversationApi(\n opts: BuildPlacementDependenciesOptions,\n): ConversationApi {\n return {\n sendMessage: async (message, trackingOptions) => {\n await opts.onSubmit?.(message, trackingOptions);\n },\n loadConversationByTriggerId: async () => {\n // No-op for v1 — placement is bound to a single trigger (its own).\n // Browsing other triggers means leaving placement; see D6 history.\n },\n };\n}\n\nconst STUB_MARKDOWN_UTILS: MarkdownUtils = {\n parseMarkdownToAst: () => ({}),\n extractLinks: () => [],\n extractText: () => '',\n};\n\n/**\n * Real entity transforms (DL #099 PR 4). Pure payload-row → entity-data\n * mappers — no React, no host environment — so the placement can wire\n * them in directly. Section components in placement-ready client UMDs\n * pull these via `useEntityTransforms()` and pass them as the\n * `options.transform` to `useResolveGenericEntityData`.\n *\n * Before DL #099 these were throwing stubs because the placement had\n * no payload to feed them. Now the BE's `answer.payload` rides through\n * `PlacementPayloadProvider` and the resolver actually runs.\n */\nconst REAL_ENTITY_TRANSFORMS: EntityTransforms = {\n transformToSolutionEntityData,\n transformToBlogPostEntityData,\n transformToGenericEntityData,\n};\n\nexport function buildPlacementDependencies(\n opts: BuildPlacementDependenciesOptions = {},\n): ComponentDependencies {\n const web5LinkApi = makeWeb5LinkApi(opts);\n const conversationApi = makeConversationApi(opts);\n const entityFetcher = opts.entityFetcher;\n\n const built: ComponentDependencies = {\n useWeb5Link: () => web5LinkApi,\n useConversation: () => conversationApi,\n useDebugImageContext: () => false,\n // Real payload-lookup resolver (DL #099 PR 4). Reads the accumulated\n // streaming `answer.payload` and the client UMD's `entityConfig` from\n // `PlacementPayloadProvider`; if either is missing we pass entities\n // through unchanged. No async fallback — the placement has no\n // entity-list API; sections render what the payload provided or nothing.\n useResolveGenericEntityData: (entities, options) => {\n const { entityConfig } = usePlacementPayload();\n\n // The placement resolves entity data exclusively via the items API\n // — mirroring the main app's `useEntityListData`\n // (web50-server-ui/src/hooks/useEntityListData.ts). The streaming\n // `answer.payload` is intentionally ignored (DL #099 PR 4 follow-up):\n // its shape varies per query and partial coverage caused empty cards.\n const idsToFetch = useMemo(\n () => entities.filter((e) => !e.data).map((e) => e.entityId),\n [entities],\n );\n const idsKey = idsToFetch.join(',');\n\n const [apiData, setApiData] = useState<\n Map<string, ApiPayloadItem>\n >(() => new Map());\n const [apiSettled, setApiSettled] = useState(false);\n\n useEffect(() => {\n if (!entityFetcher || idsToFetch.length === 0) {\n setApiSettled(true);\n return;\n }\n let cancelled = false;\n setApiSettled(false);\n fetchEntityListData(idsToFetch, { fetchImpl: entityFetcher })\n .then((map) => {\n if (cancelled) return;\n setApiData((prev) => {\n if (map.size === 0) return prev;\n const next = new Map(prev);\n for (const [k, v] of map) next.set(k, v);\n return next;\n });\n setApiSettled(true);\n })\n .catch(() => {\n if (!cancelled) setApiSettled(true);\n });\n return () => {\n cancelled = true;\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [idsKey]);\n\n // Merge API rows. Per-type config looked up via entityConfig; falls\n // back to a synthetic config if the client UMD didn't register a row\n // for this entityType (rare).\n const enrichedEntities = useMemo(() => {\n if (apiData.size === 0) return entities;\n return entities.map((entity) => {\n if (entity.data) return entity;\n const raw = apiData.get(entity.entityId);\n if (!raw) return entity;\n const typeConfig: EntityTypeConfig =\n entityConfig?.entityTypes[entity.entityType] ?? {\n payloadType: entity.entityType,\n urlMatchProperty: 'url',\n };\n return { ...entity, data: options.transform(raw, typeConfig) };\n });\n }, [entities, apiData, entityConfig]);\n\n return { enrichedEntities, loading: !apiSettled };\n },\n entityTransforms: REAL_ENTITY_TRANSFORMS,\n markdownUtils: STUB_MARKDOWN_UTILS,\n };\n\n return { ...built, ...(opts.overrides ?? {}) };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
exports.__esModule = true;
|
|
5
|
+
exports.BottomContainer = void 0;
|
|
6
|
+
var _react = _interopRequireDefault(require("react"));
|
|
7
|
+
var _utils = require("../../lib/utils");
|
|
8
|
+
var _jsxFileName = "/home/builduser/work/c2b6ca0b3fa984ee/packages/web5-core/dist/cjs/components/ui/BottomContainer.tsx";
|
|
9
|
+
const BottomContainer = ({
|
|
10
|
+
children,
|
|
11
|
+
className = '',
|
|
12
|
+
isCollapsed = false,
|
|
13
|
+
isInline = false
|
|
14
|
+
}) => {
|
|
15
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
16
|
+
className: (0, _utils.cn)('z-10', isInline ? isCollapsed ? 'absolute bottom-0 right-0 w-auto pointer-events-none' : 'w-full' : isCollapsed ? 'fixed bottom-0 right-0 w-auto pointer-events-none' : 'fixed bottom-0 left-0 right-0', className),
|
|
17
|
+
__self: void 0,
|
|
18
|
+
__source: {
|
|
19
|
+
fileName: _jsxFileName,
|
|
20
|
+
lineNumber: 18,
|
|
21
|
+
columnNumber: 5
|
|
22
|
+
}
|
|
23
|
+
}, children);
|
|
24
|
+
};
|
|
25
|
+
exports.BottomContainer = BottomContainer;
|
|
26
|
+
//# sourceMappingURL=BottomContainer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_utils","_jsxFileName","BottomContainer","children","className","isCollapsed","isInline","default","createElement","cn","__self","__source","fileName","lineNumber","columnNumber","exports"],"sources":["../../../../src/components/ui/BottomContainer.tsx"],"sourcesContent":["import React, { FC, ReactNode } from 'react';\nimport { cn } from '../../lib/utils';\n\nexport interface BottomContainerProps {\n children: ReactNode;\n className?: string;\n isCollapsed?: boolean;\n isInline?: boolean;\n}\n\nexport const BottomContainer: FC<BottomContainerProps> = ({\n children,\n className = '',\n isCollapsed = false,\n isInline = false,\n}) => {\n return (\n <div\n className={cn(\n 'z-10',\n isInline\n ? isCollapsed\n ? 'absolute bottom-0 right-0 w-auto pointer-events-none'\n : 'w-full'\n : isCollapsed\n ? 'fixed bottom-0 right-0 w-auto pointer-events-none'\n : 'fixed bottom-0 left-0 right-0',\n className,\n )}\n >\n {children}\n </div>\n );\n};\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAAqC,IAAAE,YAAA;AAS9B,MAAMC,eAAyC,GAAGA,CAAC;EACxDC,QAAQ;EACRC,SAAS,GAAG,EAAE;EACdC,WAAW,GAAG,KAAK;EACnBC,QAAQ,GAAG;AACb,CAAC,KAAK;EACJ,oBACET,MAAA,CAAAU,OAAA,CAAAC,aAAA;IACEJ,SAAS,EAAE,IAAAK,SAAE,EACX,MAAM,EACNH,QAAQ,GACJD,WAAW,GACT,sDAAsD,GACtD,QAAQ,GACVA,WAAW,GACX,mDAAmD,GACnD,+BAA+B,EACnCD,SACF,CAAE;IAAAM,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAX,YAAA;MAAAY,UAAA;MAAAC,YAAA;IAAA;EAAA,GAEDX,QACE,CAAC;AAEV,CAAC;AAACY,OAAA,CAAAb,eAAA,GAAAA,eAAA","ignoreList":[]}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.CalloutBlock = void 0;
|
|
5
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
6
|
+
var _MarkdownText = require("./MarkdownText");
|
|
7
|
+
var _utils = require("../../lib/utils");
|
|
8
|
+
var _jsxFileName = "/home/builduser/work/c2b6ca0b3fa984ee/packages/web5-core/dist/cjs/components/ui/CalloutBlock.tsx";
|
|
9
|
+
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); }
|
|
10
|
+
const SparkleIcon = /*#__PURE__*/_react.default.forwardRef(({
|
|
11
|
+
className,
|
|
12
|
+
style
|
|
13
|
+
}, ref) => /*#__PURE__*/_react.default.createElement("svg", {
|
|
14
|
+
ref: ref,
|
|
15
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
16
|
+
width: "var(--callout-icon-size, 0.55em)",
|
|
17
|
+
height: "var(--callout-icon-size, 0.55em)",
|
|
18
|
+
viewBox: "0 0 13 13",
|
|
19
|
+
fill: "none",
|
|
20
|
+
className: className,
|
|
21
|
+
style: style,
|
|
22
|
+
__self: void 0,
|
|
23
|
+
__source: {
|
|
24
|
+
fileName: _jsxFileName,
|
|
25
|
+
lineNumber: 11,
|
|
26
|
+
columnNumber: 3
|
|
27
|
+
}
|
|
28
|
+
}, /*#__PURE__*/_react.default.createElement("path", {
|
|
29
|
+
d: "M6.5 0C6.94256 0 7.32364 0.312427 7.41056 0.74646L7.61076 1.74716C7.97829 3.58508 9.41497 5.02173 11.2528 5.38932L12.2536 5.58946C12.6876 5.67626 13 6.05737 13 6.5C13 6.94263 12.6876 7.32374 12.2536 7.41054L11.2528 7.61068C9.41497 7.97827 7.97829 9.41492 7.61076 11.2528L7.41056 12.2535C7.32364 12.6876 6.94256 13 6.5 13C6.05744 13 5.67636 12.6876 5.58945 12.2535L5.38924 11.2528C5.02171 9.41492 3.58503 7.97827 1.7472 7.61068L0.746386 7.41054C0.312372 7.32374 0 6.94263 0 6.5C0 6.05737 0.312372 5.67626 0.746386 5.58946L1.7472 5.38932C3.58503 5.02173 5.02171 3.58508 5.38924 1.74716L5.58945 0.74646C5.67636 0.312427 6.05744 0 6.5 0Z",
|
|
30
|
+
fill: "var(--callout-icon-color, var(--body-text-color))",
|
|
31
|
+
__self: void 0,
|
|
32
|
+
__source: {
|
|
33
|
+
fileName: _jsxFileName,
|
|
34
|
+
lineNumber: 21,
|
|
35
|
+
columnNumber: 5
|
|
36
|
+
}
|
|
37
|
+
})));
|
|
38
|
+
const CalloutBlock = ({
|
|
39
|
+
callout,
|
|
40
|
+
className,
|
|
41
|
+
showIcon = true
|
|
42
|
+
}) => {
|
|
43
|
+
const containerRef = (0, _react.useRef)(null);
|
|
44
|
+
const iconRef = (0, _react.useRef)(null);
|
|
45
|
+
const [isVisible, setIsVisible] = (0, _react.useState)(false);
|
|
46
|
+
(0, _react.useEffect)(() => {
|
|
47
|
+
const el = containerRef.current;
|
|
48
|
+
if (!el) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
const observer = new IntersectionObserver(([entry]) => {
|
|
52
|
+
if (entry.isIntersecting) {
|
|
53
|
+
setIsVisible(true);
|
|
54
|
+
observer.disconnect();
|
|
55
|
+
}
|
|
56
|
+
}, {
|
|
57
|
+
threshold: 0.1
|
|
58
|
+
});
|
|
59
|
+
observer.observe(el);
|
|
60
|
+
return () => observer.disconnect();
|
|
61
|
+
}, []);
|
|
62
|
+
(0, _react.useEffect)(() => {
|
|
63
|
+
const icon = iconRef.current;
|
|
64
|
+
const container = containerRef.current;
|
|
65
|
+
if (!isVisible || !icon || !container) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
const styles = getComputedStyle(container);
|
|
69
|
+
const duration = parseFloat(styles.getPropertyValue('--callout-star-duration') || '1050');
|
|
70
|
+
const delay = parseFloat(styles.getPropertyValue('--callout-star-delay') || '600');
|
|
71
|
+
icon.animate([{
|
|
72
|
+
transform: 'scale(0.5) rotate(-30deg)',
|
|
73
|
+
opacity: 0
|
|
74
|
+
}, {
|
|
75
|
+
transform: 'scale(1.2) rotate(5deg)',
|
|
76
|
+
opacity: 1,
|
|
77
|
+
offset: 0.35
|
|
78
|
+
}, {
|
|
79
|
+
transform: 'scale(0.9) rotate(-2deg)',
|
|
80
|
+
opacity: 1,
|
|
81
|
+
offset: 0.55
|
|
82
|
+
}, {
|
|
83
|
+
transform: 'scale(1.05) rotate(1deg)',
|
|
84
|
+
opacity: 1,
|
|
85
|
+
offset: 0.75
|
|
86
|
+
}, {
|
|
87
|
+
transform: 'scale(0.98) rotate(0deg)',
|
|
88
|
+
opacity: 1,
|
|
89
|
+
offset: 0.9
|
|
90
|
+
}, {
|
|
91
|
+
transform: 'scale(1) rotate(0deg)',
|
|
92
|
+
opacity: 1
|
|
93
|
+
}], {
|
|
94
|
+
duration,
|
|
95
|
+
delay,
|
|
96
|
+
easing: 'ease-out',
|
|
97
|
+
fill: 'forwards'
|
|
98
|
+
});
|
|
99
|
+
}, [isVisible]);
|
|
100
|
+
const maskGradient = 'linear-gradient(176deg, black 0%, black 40%, transparent 55%, transparent 100%)';
|
|
101
|
+
const maskPosition = isVisible ? '0% 0%' : '0% 100%';
|
|
102
|
+
const streamStyle = {
|
|
103
|
+
WebkitMaskImage: maskGradient,
|
|
104
|
+
maskImage: maskGradient,
|
|
105
|
+
WebkitMaskSize: '100% 500%',
|
|
106
|
+
maskSize: '100% 500%',
|
|
107
|
+
WebkitMaskRepeat: 'no-repeat',
|
|
108
|
+
maskRepeat: 'no-repeat',
|
|
109
|
+
WebkitMaskPosition: maskPosition,
|
|
110
|
+
maskPosition,
|
|
111
|
+
transition: isVisible ? '-webkit-mask-position 3s linear var(--callout-stream-delay, 1.5s), mask-position 3s linear var(--callout-stream-delay, 1.5s)' : 'none'
|
|
112
|
+
};
|
|
113
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
114
|
+
ref: containerRef,
|
|
115
|
+
className: (0, _utils.cn)('flex items-start font-display font-medium text-callout-block gap-[0.625em]', className),
|
|
116
|
+
style: {
|
|
117
|
+
color: 'var(--callout-text-color, var(--body-text-color))'
|
|
118
|
+
},
|
|
119
|
+
__self: void 0,
|
|
120
|
+
__source: {
|
|
121
|
+
fileName: _jsxFileName,
|
|
122
|
+
lineNumber: 106,
|
|
123
|
+
columnNumber: 5
|
|
124
|
+
}
|
|
125
|
+
}, showIcon ? /*#__PURE__*/_react.default.createElement(SparkleIcon, {
|
|
126
|
+
ref: iconRef,
|
|
127
|
+
className: "mt-[0.45em] shrink-0",
|
|
128
|
+
style: {
|
|
129
|
+
opacity: 0
|
|
130
|
+
},
|
|
131
|
+
__self: void 0,
|
|
132
|
+
__source: {
|
|
133
|
+
fileName: _jsxFileName,
|
|
134
|
+
lineNumber: 115,
|
|
135
|
+
columnNumber: 9
|
|
136
|
+
}
|
|
137
|
+
}) : null, /*#__PURE__*/_react.default.createElement("div", {
|
|
138
|
+
style: streamStyle,
|
|
139
|
+
__self: void 0,
|
|
140
|
+
__source: {
|
|
141
|
+
fileName: _jsxFileName,
|
|
142
|
+
lineNumber: 121,
|
|
143
|
+
columnNumber: 7
|
|
144
|
+
}
|
|
145
|
+
}, /*#__PURE__*/_react.default.createElement(_MarkdownText.MarkdownText, {
|
|
146
|
+
className: "[&]:text-[length:inherit] [&]:text-inherit [&]:leading-[inherit] [&_p]:mb-0 [&_p]:mt-0 [&_p]:text-[length:inherit] [&_p]:text-inherit [&_p]:leading-[inherit]",
|
|
147
|
+
__self: void 0,
|
|
148
|
+
__source: {
|
|
149
|
+
fileName: _jsxFileName,
|
|
150
|
+
lineNumber: 122,
|
|
151
|
+
columnNumber: 9
|
|
152
|
+
}
|
|
153
|
+
}, callout.text)));
|
|
154
|
+
};
|
|
155
|
+
exports.CalloutBlock = CalloutBlock;
|
|
156
|
+
//# sourceMappingURL=CalloutBlock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_MarkdownText","_utils","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SparkleIcon","React","forwardRef","className","style","ref","createElement","xmlns","width","height","viewBox","fill","__self","__source","fileName","lineNumber","columnNumber","d","CalloutBlock","callout","showIcon","containerRef","useRef","iconRef","isVisible","setIsVisible","useState","useEffect","el","current","observer","IntersectionObserver","entry","isIntersecting","disconnect","threshold","observe","icon","container","styles","getComputedStyle","duration","parseFloat","getPropertyValue","delay","animate","transform","opacity","offset","easing","maskGradient","maskPosition","streamStyle","WebkitMaskImage","maskImage","WebkitMaskSize","maskSize","WebkitMaskRepeat","maskRepeat","WebkitMaskPosition","transition","cn","color","MarkdownText","text","exports"],"sources":["../../../../src/components/ui/CalloutBlock.tsx"],"sourcesContent":["import React, { useRef, useState, useEffect } from 'react';\nimport type { FC } from 'react';\nimport type { Callout } from '../../types/callout';\nimport { MarkdownText } from './MarkdownText';\nimport { cn } from '../../lib/utils';\n\nconst SparkleIcon = React.forwardRef<\n SVGSVGElement,\n { className?: string; style?: React.CSSProperties }\n>(({ className, style }, ref) => (\n <svg\n ref={ref}\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"var(--callout-icon-size, 0.55em)\"\n height=\"var(--callout-icon-size, 0.55em)\"\n viewBox=\"0 0 13 13\"\n fill=\"none\"\n className={className}\n style={style}\n >\n <path\n d=\"M6.5 0C6.94256 0 7.32364 0.312427 7.41056 0.74646L7.61076 1.74716C7.97829 3.58508 9.41497 5.02173 11.2528 5.38932L12.2536 5.58946C12.6876 5.67626 13 6.05737 13 6.5C13 6.94263 12.6876 7.32374 12.2536 7.41054L11.2528 7.61068C9.41497 7.97827 7.97829 9.41492 7.61076 11.2528L7.41056 12.2535C7.32364 12.6876 6.94256 13 6.5 13C6.05744 13 5.67636 12.6876 5.58945 12.2535L5.38924 11.2528C5.02171 9.41492 3.58503 7.97827 1.7472 7.61068L0.746386 7.41054C0.312372 7.32374 0 6.94263 0 6.5C0 6.05737 0.312372 5.67626 0.746386 5.58946L1.7472 5.38932C3.58503 5.02173 5.02171 3.58508 5.38924 1.74716L5.58945 0.74646C5.67636 0.312427 6.05744 0 6.5 0Z\"\n fill=\"var(--callout-icon-color, var(--body-text-color))\"\n />\n </svg>\n));\n\nexport interface CalloutBlockProps {\n callout: Callout;\n className?: string;\n showIcon?: boolean;\n}\n\nexport const CalloutBlock: FC<CalloutBlockProps> = ({\n callout,\n className,\n showIcon = true,\n}) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const iconRef = useRef<SVGSVGElement>(null);\n const [isVisible, setIsVisible] = useState(false);\n\n useEffect(() => {\n const el = containerRef.current;\n if (!el) {\n return;\n }\n const observer = new IntersectionObserver(\n ([entry]) => {\n if (entry.isIntersecting) {\n setIsVisible(true);\n observer.disconnect();\n }\n },\n { threshold: 0.1 },\n );\n observer.observe(el);\n return () => observer.disconnect();\n }, []);\n\n useEffect(() => {\n const icon = iconRef.current;\n const container = containerRef.current;\n if (!isVisible || !icon || !container) {\n return;\n }\n const styles = getComputedStyle(container);\n const duration = parseFloat(\n styles.getPropertyValue('--callout-star-duration') || '1050',\n );\n const delay = parseFloat(\n styles.getPropertyValue('--callout-star-delay') || '600',\n );\n icon.animate(\n [\n { transform: 'scale(0.5) rotate(-30deg)', opacity: 0 },\n { transform: 'scale(1.2) rotate(5deg)', opacity: 1, offset: 0.35 },\n { transform: 'scale(0.9) rotate(-2deg)', opacity: 1, offset: 0.55 },\n { transform: 'scale(1.05) rotate(1deg)', opacity: 1, offset: 0.75 },\n { transform: 'scale(0.98) rotate(0deg)', opacity: 1, offset: 0.9 },\n { transform: 'scale(1) rotate(0deg)', opacity: 1 },\n ],\n { duration, delay, easing: 'ease-out', fill: 'forwards' },\n );\n }, [isVisible]);\n\n const maskGradient =\n 'linear-gradient(176deg, black 0%, black 40%, transparent 55%, transparent 100%)';\n const maskPosition = isVisible ? '0% 0%' : '0% 100%';\n\n const streamStyle: React.CSSProperties = {\n WebkitMaskImage: maskGradient,\n maskImage: maskGradient,\n WebkitMaskSize: '100% 500%',\n maskSize: '100% 500%',\n WebkitMaskRepeat: 'no-repeat',\n maskRepeat: 'no-repeat',\n WebkitMaskPosition: maskPosition,\n maskPosition,\n transition: isVisible\n ? '-webkit-mask-position 3s linear var(--callout-stream-delay, 1.5s), mask-position 3s linear var(--callout-stream-delay, 1.5s)'\n : 'none',\n };\n\n return (\n <div\n ref={containerRef}\n className={cn(\n 'flex items-start font-display font-medium text-callout-block gap-[0.625em]',\n className,\n )}\n style={{ color: 'var(--callout-text-color, var(--body-text-color))' }}\n >\n {showIcon ? (\n <SparkleIcon\n ref={iconRef}\n className=\"mt-[0.45em] shrink-0\"\n style={{ opacity: 0 }}\n />\n ) : null}\n <div style={streamStyle}>\n <MarkdownText className=\"[&]:text-[length:inherit] [&]:text-inherit [&]:leading-[inherit] [&_p]:mb-0 [&_p]:mt-0 [&_p]:text-[length:inherit] [&_p]:text-inherit [&_p]:leading-[inherit]\">\n {callout.text}\n </MarkdownText>\n </div>\n </div>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/* "AI can make mistakes. Learn more" footer. Mounted by the host app
|
|
2
|
+
alongside the FeedbackBar; clients can override the whole component via
|
|
3
|
+
the DisclaimerComponent UI slot.
|
|
4
|
+
|
|
5
|
+
Typography defaults mirror `.web5-feedback-bar` so a single client-side
|
|
6
|
+
override (`--web5-feedback-bar-color`) re-skins both together. The
|
|
7
|
+
disclaimer-specific vars stay as escape hatches when divergence is
|
|
8
|
+
needed. */
|
|
9
|
+
|
|
10
|
+
.web5-disclaimer {
|
|
11
|
+
margin: 0;
|
|
12
|
+
font-size: var(
|
|
13
|
+
--web5-disclaimer-font-size,
|
|
14
|
+
var(--web5-feedback-bar-font-size, 13px)
|
|
15
|
+
);
|
|
16
|
+
font-weight: 400;
|
|
17
|
+
line-height: normal;
|
|
18
|
+
color: var(
|
|
19
|
+
--web5-disclaimer-color,
|
|
20
|
+
var(--web5-feedback-bar-color, var(--web5-feedback-label-color, #6b7280))
|
|
21
|
+
);
|
|
22
|
+
text-align: var(--web5-disclaimer-text-align, left);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.web5-disclaimer__link {
|
|
26
|
+
color: inherit;
|
|
27
|
+
text-decoration: underline;
|
|
28
|
+
text-decoration-skip-ink: none;
|
|
29
|
+
cursor: pointer;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.web5-disclaimer__link:hover,
|
|
33
|
+
.web5-disclaimer__link:focus-visible {
|
|
34
|
+
color: var(--web5-disclaimer-link-hover-color, inherit);
|
|
35
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
exports.__esModule = true;
|
|
5
|
+
exports.Disclaimer = void 0;
|
|
6
|
+
var _react = _interopRequireDefault(require("react"));
|
|
7
|
+
var _utils = require("../../lib/utils");
|
|
8
|
+
var _jsxFileName = "/home/builduser/work/c2b6ca0b3fa984ee/packages/web5-core/dist/cjs/components/ui/Disclaimer.tsx";
|
|
9
|
+
/**
|
|
10
|
+
* "AI can make mistakes. Learn more" footer. Renders as plain text + an
|
|
11
|
+
* optional link; clients can override the whole component via the
|
|
12
|
+
* `DisclaimerComponent` UI slot.
|
|
13
|
+
*/
|
|
14
|
+
const Disclaimer = ({
|
|
15
|
+
text = 'AI can make mistakes.',
|
|
16
|
+
learnMoreText = 'Learn more',
|
|
17
|
+
learnMoreHref,
|
|
18
|
+
learnMoreTarget = '_blank',
|
|
19
|
+
onLearnMoreClick,
|
|
20
|
+
className
|
|
21
|
+
}) => {
|
|
22
|
+
const showLink = Boolean(learnMoreHref);
|
|
23
|
+
const rel = learnMoreTarget === '_blank' ? 'noopener noreferrer' : undefined;
|
|
24
|
+
return /*#__PURE__*/_react.default.createElement("p", {
|
|
25
|
+
className: (0, _utils.cn)('web5-disclaimer', className),
|
|
26
|
+
role: "note",
|
|
27
|
+
__self: void 0,
|
|
28
|
+
__source: {
|
|
29
|
+
fileName: _jsxFileName,
|
|
30
|
+
lineNumber: 35,
|
|
31
|
+
columnNumber: 5
|
|
32
|
+
}
|
|
33
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
34
|
+
className: "web5-disclaimer__text",
|
|
35
|
+
__self: void 0,
|
|
36
|
+
__source: {
|
|
37
|
+
fileName: _jsxFileName,
|
|
38
|
+
lineNumber: 36,
|
|
39
|
+
columnNumber: 7
|
|
40
|
+
}
|
|
41
|
+
}, text), showLink && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, ' ', /*#__PURE__*/_react.default.createElement("a", {
|
|
42
|
+
className: "web5-disclaimer__link",
|
|
43
|
+
href: learnMoreHref,
|
|
44
|
+
target: learnMoreTarget,
|
|
45
|
+
rel: rel,
|
|
46
|
+
onClick: onLearnMoreClick,
|
|
47
|
+
__self: void 0,
|
|
48
|
+
__source: {
|
|
49
|
+
fileName: _jsxFileName,
|
|
50
|
+
lineNumber: 40,
|
|
51
|
+
columnNumber: 11
|
|
52
|
+
}
|
|
53
|
+
}, learnMoreText)));
|
|
54
|
+
};
|
|
55
|
+
exports.Disclaimer = Disclaimer;
|
|
56
|
+
//# sourceMappingURL=Disclaimer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_utils","_jsxFileName","Disclaimer","text","learnMoreText","learnMoreHref","learnMoreTarget","onLearnMoreClick","className","showLink","Boolean","rel","undefined","default","createElement","cn","role","__self","__source","fileName","lineNumber","columnNumber","Fragment","href","target","onClick","exports"],"sources":["../../../../src/components/ui/Disclaimer.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport { cn } from '../../lib/utils';\n\nexport interface DisclaimerProps {\n /** Disclaimer body text. Default: \"AI can make mistakes.\" */\n text?: string;\n /** Label for the trailing link. Default: \"Learn more\". */\n learnMoreText?: string;\n /** URL the \"Learn more\" link opens. When omitted, the link is not rendered. */\n learnMoreHref?: string;\n /** Override the link target. Default: `_blank` (opens in a new tab). */\n learnMoreTarget?: '_blank' | '_self' | '_parent' | '_top';\n /** Click handler invoked before navigation. Use to fire analytics. */\n onLearnMoreClick?: (event: React.MouseEvent<HTMLAnchorElement>) => void;\n className?: string;\n}\n\n/**\n * \"AI can make mistakes. Learn more\" footer. Renders as plain text + an\n * optional link; clients can override the whole component via the\n * `DisclaimerComponent` UI slot.\n */\nexport const Disclaimer: FC<DisclaimerProps> = ({\n text = 'AI can make mistakes.',\n learnMoreText = 'Learn more',\n learnMoreHref,\n learnMoreTarget = '_blank',\n onLearnMoreClick,\n className,\n}) => {\n const showLink = Boolean(learnMoreHref);\n const rel = learnMoreTarget === '_blank' ? 'noopener noreferrer' : undefined;\n\n return (\n <p className={cn('web5-disclaimer', className)} role=\"note\">\n <span className=\"web5-disclaimer__text\">{text}</span>\n {showLink && (\n <>\n {' '}\n <a\n className=\"web5-disclaimer__link\"\n href={learnMoreHref}\n target={learnMoreTarget}\n rel={rel}\n onClick={onLearnMoreClick}\n >\n {learnMoreText}\n </a>\n </>\n )}\n </p>\n );\n};\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAAqC,IAAAE,YAAA;AAgBrC;AACA;AACA;AACA;AACA;AACO,MAAMC,UAA+B,GAAGA,CAAC;EAC9CC,IAAI,GAAG,uBAAuB;EAC9BC,aAAa,GAAG,YAAY;EAC5BC,aAAa;EACbC,eAAe,GAAG,QAAQ;EAC1BC,gBAAgB;EAChBC;AACF,CAAC,KAAK;EACJ,MAAMC,QAAQ,GAAGC,OAAO,CAACL,aAAa,CAAC;EACvC,MAAMM,GAAG,GAAGL,eAAe,KAAK,QAAQ,GAAG,qBAAqB,GAAGM,SAAS;EAE5E,oBACEf,MAAA,CAAAgB,OAAA,CAAAC,aAAA;IAAGN,SAAS,EAAE,IAAAO,SAAE,EAAC,iBAAiB,EAAEP,SAAS,CAAE;IAACQ,IAAI,EAAC,MAAM;IAAAC,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAlB,YAAA;MAAAmB,UAAA;MAAAC,YAAA;IAAA;EAAA,gBACzDxB,MAAA,CAAAgB,OAAA,CAAAC,aAAA;IAAMN,SAAS,EAAC,uBAAuB;IAAAS,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAlB,YAAA;MAAAmB,UAAA;MAAAC,YAAA;IAAA;EAAA,GAAElB,IAAW,CAAC,EACpDM,QAAQ,iBACPZ,MAAA,CAAAgB,OAAA,CAAAC,aAAA,CAAAjB,MAAA,CAAAgB,OAAA,CAAAS,QAAA,QACG,GAAG,eACJzB,MAAA,CAAAgB,OAAA,CAAAC,aAAA;IACEN,SAAS,EAAC,uBAAuB;IACjCe,IAAI,EAAElB,aAAc;IACpBmB,MAAM,EAAElB,eAAgB;IACxBK,GAAG,EAAEA,GAAI;IACTc,OAAO,EAAElB,gBAAiB;IAAAU,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAlB,YAAA;MAAAmB,UAAA;MAAAC,YAAA;IAAA;EAAA,GAEzBjB,aACA,CACH,CAEH,CAAC;AAER,CAAC;AAACsB,OAAA,CAAAxB,UAAA,GAAAA,UAAA","ignoreList":[]}
|