@athoscommerce/snap-preact 1.13.2 → 1.13.3-beta.187
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/src/components/Atoms/ChatLoadingIndicator/ChatLoadingIndicator.js +99 -0
- package/dist/cjs/components/src/components/Atoms/ChatLoadingIndicator/index.js +17 -0
- package/dist/cjs/components/src/components/Atoms/Dropdown/Dropdown.js +56 -11
- package/dist/cjs/components/src/components/Atoms/Icon/paths.js +13 -0
- package/dist/cjs/components/src/components/Molecules/ChatAttachmentContext/ChatAttachmentContext.js +221 -0
- package/dist/cjs/components/src/components/Molecules/ChatAttachmentContext/index.js +17 -0
- package/dist/cjs/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.js +211 -0
- package/dist/cjs/components/src/components/Molecules/ChatInspirationResultMessage/index.js +17 -0
- package/dist/cjs/components/src/components/Molecules/ChatMessageText/ChatMessageText.js +259 -0
- package/dist/cjs/components/src/components/Molecules/ChatMessageText/index.js +17 -0
- package/dist/cjs/components/src/components/Molecules/ChatMessageUser/ChatMessageUser.js +286 -0
- package/dist/cjs/components/src/components/Molecules/ChatMessageUser/index.js +17 -0
- package/dist/cjs/components/src/components/Molecules/ChatProductComparisonMessage/ChatProductComparisonMessage.js +174 -0
- package/dist/cjs/components/src/components/Molecules/ChatProductComparisonMessage/index.js +17 -0
- package/dist/cjs/components/src/components/Molecules/ChatQuickview/ChatQuickview.js +514 -0
- package/dist/cjs/components/src/components/Molecules/ChatQuickview/index.js +17 -0
- package/dist/cjs/components/src/components/Molecules/ChatResult/ChatResult.js +252 -0
- package/dist/cjs/components/src/components/Molecules/ChatResult/index.js +17 -0
- package/dist/cjs/components/src/components/Molecules/ChatResultsDisplay/ChatResultsDisplay.js +113 -0
- package/dist/cjs/components/src/components/Molecules/ChatResultsDisplay/index.js +17 -0
- package/dist/cjs/components/src/components/Molecules/ChatSuggestedQuestions/ChatSuggestedQuestions.js +107 -0
- package/dist/cjs/components/src/components/Molecules/ChatSuggestedQuestions/index.js +17 -0
- package/dist/cjs/components/src/components/Molecules/Result/Result.js +51 -4
- package/dist/cjs/components/src/components/Molecules/SearchInput/SearchInput.js +28 -2
- package/dist/cjs/components/src/components/Molecules/Slideout/Slideout.js +24 -28
- package/dist/cjs/components/src/components/Molecules/Slideshow/Slideshow.js +88 -47
- package/dist/cjs/components/src/components/Molecules/TabSelection/TabSelection.js +5 -3
- package/dist/cjs/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.js +8 -1
- package/dist/cjs/components/src/components/Organisms/Chat/Chat.js +628 -0
- package/dist/cjs/components/src/components/Organisms/Chat/Chat.lang.js +110 -0
- package/dist/cjs/components/src/components/Organisms/Chat/components/ChatAttachments.js +105 -0
- package/dist/cjs/components/src/components/Organisms/Chat/components/ChatComparisonsTray.js +161 -0
- package/dist/cjs/components/src/components/Organisms/Chat/components/ChatComposer.js +166 -0
- package/dist/cjs/components/src/components/Organisms/Chat/components/ChatFacetsBar.js +369 -0
- package/dist/cjs/components/src/components/Organisms/Chat/components/ChatHistory.js +130 -0
- package/dist/cjs/components/src/components/Organisms/Chat/components/ChatMessages.js +218 -0
- package/dist/cjs/components/src/components/Organisms/Chat/components/ChatSessionFeedback.js +123 -0
- package/dist/cjs/components/src/components/Organisms/Chat/components/ChatSideChat.js +173 -0
- package/dist/cjs/components/src/components/Organisms/Chat/components/ChatTopicDrift.js +149 -0
- package/dist/cjs/components/src/components/Organisms/Chat/components/chatAccentTheme.js +62 -0
- package/dist/cjs/components/src/components/Organisms/Chat/hooks/useChatFileUpload.js +66 -0
- package/dist/cjs/components/src/components/Organisms/Chat/hooks/useChatGestures.js +96 -0
- package/dist/cjs/components/src/components/Organisms/Chat/hooks/useChatOverflow.js +113 -0
- package/dist/cjs/components/src/components/Organisms/Chat/hooks/useChatScrollLock.js +135 -0
- package/dist/cjs/components/src/components/Organisms/Chat/index.js +18 -0
- package/dist/cjs/components/src/components/Organisms/ChatButton/ChatButton.js +94 -0
- package/dist/cjs/components/src/components/Organisms/ChatButton/ChatButton.lang.js +11 -0
- package/dist/cjs/components/src/components/Organisms/ChatButton/index.js +18 -0
- package/dist/cjs/components/src/components/Organisms/QuickviewLayout/QuickviewLayout.js +44 -11
- package/dist/cjs/components/src/components/Organisms/Results/Results.js +1 -1
- package/dist/cjs/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.js +5 -0
- package/dist/cjs/components/src/components/Templates/AutocompleteModal/AutocompleteModal.js +5 -0
- package/dist/cjs/components/src/components/Templates/AutocompleteSlideout/AutocompleteSlideout.js +5 -0
- package/dist/cjs/components/src/components/Templates/Chat/Chat.js +47 -0
- package/dist/cjs/components/src/components/Templates/Chat/index.js +17 -0
- package/dist/cjs/components/src/components/Templates/ChatButton/ChatButton.js +47 -0
- package/dist/cjs/components/src/components/Templates/ChatButton/index.js +17 -0
- package/dist/cjs/components/src/components/Templates/Search/Search.js +9 -1
- package/dist/cjs/components/src/index.js +17 -1
- package/dist/cjs/components/src/providers/themeComponents.js +20 -0
- package/dist/cjs/components/src/themes/base/components/templates/chat.js +6 -0
- package/dist/cjs/components/src/themes/base/components/templates/chatButton.js +6 -0
- package/dist/cjs/components/src/themes/base/components/templates/index.js +10 -0
- package/dist/cjs/components/src/themes/bocachica/components/templates/chat.js +6 -0
- package/dist/cjs/components/src/themes/bocachica/components/templates/chatButton.js +6 -0
- package/dist/cjs/components/src/themes/bocachica/components/templates/index.js +10 -0
- package/dist/cjs/components/src/themes/pike/components/templates/chat.js +6 -0
- package/dist/cjs/components/src/themes/pike/components/templates/chatButton.js +6 -0
- package/dist/cjs/components/src/themes/pike/components/templates/index.js +10 -0
- package/dist/cjs/components/src/themes/snapnco/components/templates/chat.js +6 -0
- package/dist/cjs/components/src/themes/snapnco/components/templates/chatButton.js +6 -0
- package/dist/cjs/components/src/themes/snapnco/components/templates/index.js +10 -0
- package/dist/cjs/components/src/themes/snappy/components/templates/chat.js +6 -0
- package/dist/cjs/components/src/themes/snappy/components/templates/chatButton.js +6 -0
- package/dist/cjs/components/src/themes/snappy/components/templates/index.js +10 -0
- package/dist/cjs/components/src/themes/themeComponents/chat.js +14 -0
- package/dist/cjs/components/src/themes/themeComponents/chatButton.js +9 -0
- package/dist/cjs/components/src/utilities/Colour/Colour.js +41 -0
- package/dist/cjs/components/src/utilities/snapify.js +27 -0
- package/dist/cjs/src/Instantiators/RecommendationInstantiator.js +4 -1
- package/dist/cjs/src/Snap.js +83 -1
- package/dist/cjs/src/Templates/SnapTemplates.js +55 -5
- package/dist/cjs/src/Templates/Stores/LibraryStore.js +51 -1
- package/dist/cjs/src/Templates/Stores/TemplateStore.js +3 -3
- package/dist/cjs/src/Templates/Stores/library/components/Chat.js +5 -0
- package/dist/cjs/src/Templates/Stores/library/components/ChatButton.js +5 -0
- package/dist/cjs/src/Templates/Stores/library/languages/ar.js +485 -0
- package/dist/cjs/src/Templates/Stores/library/languages/de.js +485 -0
- package/dist/cjs/src/Templates/Stores/library/languages/es.js +490 -0
- package/dist/cjs/src/Templates/Stores/library/languages/fr.js +490 -0
- package/dist/cjs/src/Templates/Stores/library/languages/hi.js +485 -0
- package/dist/cjs/src/Templates/Stores/library/languages/it.js +485 -0
- package/dist/cjs/src/Templates/Stores/library/languages/ja.js +485 -0
- package/dist/cjs/src/Templates/Stores/library/languages/ko.js +485 -0
- package/dist/cjs/src/Templates/Stores/library/languages/nl.js +485 -0
- package/dist/cjs/src/Templates/Stores/library/languages/pt.js +485 -0
- package/dist/cjs/src/Templates/Stores/library/languages/ru.js +485 -0
- package/dist/cjs/src/Templates/Stores/library/languages/tr.js +485 -0
- package/dist/cjs/src/Templates/Stores/library/languages/vi.js +485 -0
- package/dist/cjs/src/Templates/Stores/library/languages/zh.js +485 -0
- package/dist/cjs/src/create/createChatController.js +31 -0
- package/dist/cjs/src/create/index.js +3 -1
- package/dist/cjs/src/setupEvents.js +44 -0
- package/dist/cjs/src/utils/applyChatTargetInject.js +25 -0
- package/dist/cjs/src/utils/index.js +3 -1
- package/dist/esm/components/src/components/Atoms/Button/Button.d.ts +3 -1
- package/dist/esm/components/src/components/Atoms/Button/Button.d.ts.map +1 -1
- package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/ChatLoadingIndicator.d.ts +17 -0
- package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/ChatLoadingIndicator.d.ts.map +1 -0
- package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/ChatLoadingIndicator.js +92 -0
- package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/index.d.ts +2 -0
- package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/index.d.ts.map +1 -0
- package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/index.js +1 -0
- package/dist/esm/components/src/components/Atoms/Dropdown/Dropdown.d.ts +6 -1
- package/dist/esm/components/src/components/Atoms/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/esm/components/src/components/Atoms/Dropdown/Dropdown.js +57 -12
- package/dist/esm/components/src/components/Atoms/Icon/paths.d.ts +13 -0
- package/dist/esm/components/src/components/Atoms/Icon/paths.d.ts.map +1 -1
- package/dist/esm/components/src/components/Atoms/Icon/paths.js +13 -0
- package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/ChatAttachmentContext.d.ts +37 -0
- package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/ChatAttachmentContext.d.ts.map +1 -0
- package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/ChatAttachmentContext.js +215 -0
- package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/index.d.ts +2 -0
- package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/index.d.ts.map +1 -0
- package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/index.js +1 -0
- package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.d.ts +30 -0
- package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.d.ts.map +1 -0
- package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.js +205 -0
- package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/index.d.ts +2 -0
- package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/index.d.ts.map +1 -0
- package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/index.js +1 -0
- package/dist/esm/components/src/components/Molecules/ChatMessageText/ChatMessageText.d.ts +36 -0
- package/dist/esm/components/src/components/Molecules/ChatMessageText/ChatMessageText.d.ts.map +1 -0
- package/dist/esm/components/src/components/Molecules/ChatMessageText/ChatMessageText.js +253 -0
- package/dist/esm/components/src/components/Molecules/ChatMessageText/index.d.ts +2 -0
- package/dist/esm/components/src/components/Molecules/ChatMessageText/index.d.ts.map +1 -0
- package/dist/esm/components/src/components/Molecules/ChatMessageText/index.js +1 -0
- package/dist/esm/components/src/components/Molecules/ChatMessageUser/ChatMessageUser.d.ts +52 -0
- package/dist/esm/components/src/components/Molecules/ChatMessageUser/ChatMessageUser.d.ts.map +1 -0
- package/dist/esm/components/src/components/Molecules/ChatMessageUser/ChatMessageUser.js +280 -0
- package/dist/esm/components/src/components/Molecules/ChatMessageUser/index.d.ts +2 -0
- package/dist/esm/components/src/components/Molecules/ChatMessageUser/index.d.ts.map +1 -0
- package/dist/esm/components/src/components/Molecules/ChatMessageUser/index.js +1 -0
- package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/ChatProductComparisonMessage.d.ts +25 -0
- package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/ChatProductComparisonMessage.d.ts.map +1 -0
- package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/ChatProductComparisonMessage.js +168 -0
- package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/index.d.ts +2 -0
- package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/index.d.ts.map +1 -0
- package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/index.js +1 -0
- package/dist/esm/components/src/components/Molecules/ChatQuickview/ChatQuickview.d.ts +30 -0
- package/dist/esm/components/src/components/Molecules/ChatQuickview/ChatQuickview.d.ts.map +1 -0
- package/dist/esm/components/src/components/Molecules/ChatQuickview/ChatQuickview.js +508 -0
- package/dist/esm/components/src/components/Molecules/ChatQuickview/index.d.ts +2 -0
- package/dist/esm/components/src/components/Molecules/ChatQuickview/index.d.ts.map +1 -0
- package/dist/esm/components/src/components/Molecules/ChatQuickview/index.js +1 -0
- package/dist/esm/components/src/components/Molecules/ChatResult/ChatResult.d.ts +35 -0
- package/dist/esm/components/src/components/Molecules/ChatResult/ChatResult.d.ts.map +1 -0
- package/dist/esm/components/src/components/Molecules/ChatResult/ChatResult.js +246 -0
- package/dist/esm/components/src/components/Molecules/ChatResult/index.d.ts +2 -0
- package/dist/esm/components/src/components/Molecules/ChatResult/index.d.ts.map +1 -0
- package/dist/esm/components/src/components/Molecules/ChatResult/index.js +1 -0
- package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/ChatResultsDisplay.d.ts +24 -0
- package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/ChatResultsDisplay.d.ts.map +1 -0
- package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/ChatResultsDisplay.js +107 -0
- package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/index.d.ts +2 -0
- package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/index.d.ts.map +1 -0
- package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/index.js +1 -0
- package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/ChatSuggestedQuestions.d.ts +16 -0
- package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/ChatSuggestedQuestions.d.ts.map +1 -0
- package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/ChatSuggestedQuestions.js +101 -0
- package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/index.d.ts +2 -0
- package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/index.d.ts.map +1 -0
- package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/index.js +1 -0
- package/dist/esm/components/src/components/Molecules/OverlayBadge/OverlayBadge.d.ts +2 -2
- package/dist/esm/components/src/components/Molecules/OverlayBadge/OverlayBadge.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/Result/Result.d.ts +7 -3
- package/dist/esm/components/src/components/Molecules/Result/Result.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/Result/Result.js +51 -4
- package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.d.ts +3 -0
- package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.js +28 -2
- package/dist/esm/components/src/components/Molecules/Slideout/Slideout.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/Slideout/Slideout.js +25 -29
- package/dist/esm/components/src/components/Molecules/Slideshow/Slideshow.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/Slideshow/Slideshow.js +88 -47
- package/dist/esm/components/src/components/Molecules/TabSelection/TabSelection.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/TabSelection/TabSelection.js +5 -3
- package/dist/esm/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.d.ts.map +1 -1
- package/dist/esm/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.js +8 -1
- package/dist/esm/components/src/components/Organisms/Chat/Chat.d.ts +41 -0
- package/dist/esm/components/src/components/Organisms/Chat/Chat.d.ts.map +1 -0
- package/dist/esm/components/src/components/Organisms/Chat/Chat.js +622 -0
- package/dist/esm/components/src/components/Organisms/Chat/Chat.lang.d.ts +79 -0
- package/dist/esm/components/src/components/Organisms/Chat/Chat.lang.d.ts.map +1 -0
- package/dist/esm/components/src/components/Organisms/Chat/Chat.lang.js +105 -0
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatAttachments.d.ts +26 -0
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatAttachments.d.ts.map +1 -0
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatAttachments.js +99 -0
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatComparisonsTray.d.ts +13 -0
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatComparisonsTray.d.ts.map +1 -0
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatComparisonsTray.js +155 -0
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatComposer.d.ts +19 -0
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatComposer.d.ts.map +1 -0
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatComposer.js +160 -0
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatFacetsBar.d.ts +18 -0
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatFacetsBar.d.ts.map +1 -0
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatFacetsBar.js +363 -0
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatHistory.d.ts +11 -0
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatHistory.d.ts.map +1 -0
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatHistory.js +124 -0
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatMessages.d.ts +30 -0
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatMessages.d.ts.map +1 -0
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatMessages.js +212 -0
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatSessionFeedback.d.ts +13 -0
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatSessionFeedback.d.ts.map +1 -0
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatSessionFeedback.js +117 -0
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatSideChat.d.ts +19 -0
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatSideChat.d.ts.map +1 -0
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatSideChat.js +167 -0
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatTopicDrift.d.ts +14 -0
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatTopicDrift.d.ts.map +1 -0
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatTopicDrift.js +143 -0
- package/dist/esm/components/src/components/Organisms/Chat/components/chatAccentTheme.d.ts +15 -0
- package/dist/esm/components/src/components/Organisms/Chat/components/chatAccentTheme.d.ts.map +1 -0
- package/dist/esm/components/src/components/Organisms/Chat/components/chatAccentTheme.js +58 -0
- package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatFileUpload.d.ts +32 -0
- package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatFileUpload.d.ts.map +1 -0
- package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatFileUpload.js +62 -0
- package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatGestures.d.ts +40 -0
- package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatGestures.d.ts.map +1 -0
- package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatGestures.js +92 -0
- package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatOverflow.d.ts +43 -0
- package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatOverflow.d.ts.map +1 -0
- package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatOverflow.js +109 -0
- package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatScrollLock.d.ts +26 -0
- package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatScrollLock.d.ts.map +1 -0
- package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatScrollLock.js +131 -0
- package/dist/esm/components/src/components/Organisms/Chat/index.d.ts +3 -0
- package/dist/esm/components/src/components/Organisms/Chat/index.d.ts.map +1 -0
- package/dist/esm/components/src/components/Organisms/Chat/index.js +2 -0
- package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.d.ts +18 -0
- package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.d.ts.map +1 -0
- package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.js +88 -0
- package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.lang.d.ts +7 -0
- package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.lang.d.ts.map +1 -0
- package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.lang.js +8 -0
- package/dist/esm/components/src/components/Organisms/ChatButton/index.d.ts +3 -0
- package/dist/esm/components/src/components/Organisms/ChatButton/index.d.ts.map +1 -0
- package/dist/esm/components/src/components/Organisms/ChatButton/index.js +2 -0
- package/dist/esm/components/src/components/Organisms/QuickviewLayout/QuickviewLayout.d.ts +5 -1
- package/dist/esm/components/src/components/Organisms/QuickviewLayout/QuickviewLayout.d.ts.map +1 -1
- package/dist/esm/components/src/components/Organisms/QuickviewLayout/QuickviewLayout.js +44 -11
- package/dist/esm/components/src/components/Organisms/Results/Results.js +1 -1
- package/dist/esm/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.d.ts.map +1 -1
- package/dist/esm/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.js +5 -0
- package/dist/esm/components/src/components/Templates/AutocompleteModal/AutocompleteModal.d.ts.map +1 -1
- package/dist/esm/components/src/components/Templates/AutocompleteModal/AutocompleteModal.js +5 -0
- package/dist/esm/components/src/components/Templates/AutocompleteSlideout/AutocompleteSlideout.d.ts.map +1 -1
- package/dist/esm/components/src/components/Templates/AutocompleteSlideout/AutocompleteSlideout.js +5 -0
- package/dist/esm/components/src/components/Templates/Chat/Chat.d.ts +12 -0
- package/dist/esm/components/src/components/Templates/Chat/Chat.d.ts.map +1 -0
- package/dist/esm/components/src/components/Templates/Chat/Chat.js +41 -0
- package/dist/esm/components/src/components/Templates/Chat/index.d.ts +2 -0
- package/dist/esm/components/src/components/Templates/Chat/index.d.ts.map +1 -0
- package/dist/esm/components/src/components/Templates/Chat/index.js +1 -0
- package/dist/esm/components/src/components/Templates/ChatButton/ChatButton.d.ts +13 -0
- package/dist/esm/components/src/components/Templates/ChatButton/ChatButton.d.ts.map +1 -0
- package/dist/esm/components/src/components/Templates/ChatButton/ChatButton.js +41 -0
- package/dist/esm/components/src/components/Templates/ChatButton/index.d.ts +2 -0
- package/dist/esm/components/src/components/Templates/ChatButton/index.d.ts.map +1 -0
- package/dist/esm/components/src/components/Templates/ChatButton/index.js +1 -0
- package/dist/esm/components/src/components/Templates/Search/Search.d.ts.map +1 -1
- package/dist/esm/components/src/components/Templates/Search/Search.js +9 -1
- package/dist/esm/components/src/index.d.ts +14 -0
- package/dist/esm/components/src/index.d.ts.map +1 -1
- package/dist/esm/components/src/index.js +14 -0
- package/dist/esm/components/src/providers/langComponents.d.ts +20 -0
- package/dist/esm/components/src/providers/langComponents.d.ts.map +1 -1
- package/dist/esm/components/src/providers/themeComponents.d.ts +203 -1
- package/dist/esm/components/src/providers/themeComponents.d.ts.map +1 -1
- package/dist/esm/components/src/providers/themeComponents.js +20 -0
- package/dist/esm/components/src/providers/withTracking.d.ts +2 -2
- package/dist/esm/components/src/providers/withTracking.d.ts.map +1 -1
- package/dist/esm/components/src/themes/base/components/templates/chat.d.ts +4 -0
- package/dist/esm/components/src/themes/base/components/templates/chat.d.ts.map +1 -0
- package/dist/esm/components/src/themes/base/components/templates/chat.js +3 -0
- package/dist/esm/components/src/themes/base/components/templates/chatButton.d.ts +4 -0
- package/dist/esm/components/src/themes/base/components/templates/chatButton.d.ts.map +1 -0
- package/dist/esm/components/src/themes/base/components/templates/chatButton.js +3 -0
- package/dist/esm/components/src/themes/base/components/templates/index.d.ts.map +1 -1
- package/dist/esm/components/src/themes/base/components/templates/index.js +10 -0
- package/dist/esm/components/src/themes/bocachica/components/templates/chat.d.ts +4 -0
- package/dist/esm/components/src/themes/bocachica/components/templates/chat.d.ts.map +1 -0
- package/dist/esm/components/src/themes/bocachica/components/templates/chat.js +3 -0
- package/dist/esm/components/src/themes/bocachica/components/templates/chatButton.d.ts +4 -0
- package/dist/esm/components/src/themes/bocachica/components/templates/chatButton.d.ts.map +1 -0
- package/dist/esm/components/src/themes/bocachica/components/templates/chatButton.js +3 -0
- package/dist/esm/components/src/themes/bocachica/components/templates/index.d.ts.map +1 -1
- package/dist/esm/components/src/themes/bocachica/components/templates/index.js +10 -0
- package/dist/esm/components/src/themes/pike/components/templates/chat.d.ts +4 -0
- package/dist/esm/components/src/themes/pike/components/templates/chat.d.ts.map +1 -0
- package/dist/esm/components/src/themes/pike/components/templates/chat.js +3 -0
- package/dist/esm/components/src/themes/pike/components/templates/chatButton.d.ts +4 -0
- package/dist/esm/components/src/themes/pike/components/templates/chatButton.d.ts.map +1 -0
- package/dist/esm/components/src/themes/pike/components/templates/chatButton.js +3 -0
- package/dist/esm/components/src/themes/pike/components/templates/index.d.ts.map +1 -1
- package/dist/esm/components/src/themes/pike/components/templates/index.js +10 -0
- package/dist/esm/components/src/themes/snapnco/components/templates/chat.d.ts +4 -0
- package/dist/esm/components/src/themes/snapnco/components/templates/chat.d.ts.map +1 -0
- package/dist/esm/components/src/themes/snapnco/components/templates/chat.js +3 -0
- package/dist/esm/components/src/themes/snapnco/components/templates/chatButton.d.ts +4 -0
- package/dist/esm/components/src/themes/snapnco/components/templates/chatButton.d.ts.map +1 -0
- package/dist/esm/components/src/themes/snapnco/components/templates/chatButton.js +3 -0
- package/dist/esm/components/src/themes/snapnco/components/templates/index.d.ts.map +1 -1
- package/dist/esm/components/src/themes/snapnco/components/templates/index.js +10 -0
- package/dist/esm/components/src/themes/snappy/components/templates/chat.d.ts +4 -0
- package/dist/esm/components/src/themes/snappy/components/templates/chat.d.ts.map +1 -0
- package/dist/esm/components/src/themes/snappy/components/templates/chat.js +3 -0
- package/dist/esm/components/src/themes/snappy/components/templates/chatButton.d.ts +4 -0
- package/dist/esm/components/src/themes/snappy/components/templates/chatButton.d.ts.map +1 -0
- package/dist/esm/components/src/themes/snappy/components/templates/chatButton.js +3 -0
- package/dist/esm/components/src/themes/snappy/components/templates/index.d.ts.map +1 -1
- package/dist/esm/components/src/themes/snappy/components/templates/index.js +10 -0
- package/dist/esm/components/src/themes/themeComponents/chat.d.ts +4 -0
- package/dist/esm/components/src/themes/themeComponents/chat.d.ts.map +1 -0
- package/dist/esm/components/src/themes/themeComponents/chat.js +11 -0
- package/dist/esm/components/src/themes/themeComponents/chatButton.d.ts +4 -0
- package/dist/esm/components/src/themes/themeComponents/chatButton.d.ts.map +1 -0
- package/dist/esm/components/src/themes/themeComponents/chatButton.js +6 -0
- package/dist/esm/components/src/utilities/Colour/Colour.d.ts +15 -0
- package/dist/esm/components/src/utilities/Colour/Colour.d.ts.map +1 -1
- package/dist/esm/components/src/utilities/Colour/Colour.js +41 -0
- package/dist/esm/components/src/utilities/snapify.d.ts +3 -2
- package/dist/esm/components/src/utilities/snapify.d.ts.map +1 -1
- package/dist/esm/components/src/utilities/snapify.js +29 -2
- package/dist/esm/src/Instantiators/RecommendationInstantiator.d.ts +4 -1
- package/dist/esm/src/Instantiators/RecommendationInstantiator.d.ts.map +1 -1
- package/dist/esm/src/Instantiators/RecommendationInstantiator.js +4 -1
- package/dist/esm/src/Snap.d.ts +3 -1
- package/dist/esm/src/Snap.d.ts.map +1 -1
- package/dist/esm/src/Snap.js +84 -2
- package/dist/esm/src/Templates/SnapTemplates.d.ts +2 -1
- package/dist/esm/src/Templates/SnapTemplates.d.ts.map +1 -1
- package/dist/esm/src/Templates/SnapTemplates.js +54 -5
- package/dist/esm/src/Templates/Stores/LibraryStore.d.ts +43 -0
- package/dist/esm/src/Templates/Stores/LibraryStore.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/LibraryStore.js +51 -1
- package/dist/esm/src/Templates/Stores/TemplateStore.d.ts +20 -6
- package/dist/esm/src/Templates/Stores/TemplateStore.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/TemplateStore.js +3 -3
- package/dist/esm/src/Templates/Stores/library/components/Chat.d.ts +2 -0
- package/dist/esm/src/Templates/Stores/library/components/Chat.d.ts.map +1 -0
- package/dist/esm/src/Templates/Stores/library/components/Chat.js +1 -0
- package/dist/esm/src/Templates/Stores/library/components/ChatButton.d.ts +2 -0
- package/dist/esm/src/Templates/Stores/library/components/ChatButton.d.ts.map +1 -0
- package/dist/esm/src/Templates/Stores/library/components/ChatButton.js +1 -0
- package/dist/esm/src/Templates/Stores/library/languages/ar.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/ar.js +485 -0
- package/dist/esm/src/Templates/Stores/library/languages/de.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/de.js +485 -0
- package/dist/esm/src/Templates/Stores/library/languages/es.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/es.js +490 -0
- package/dist/esm/src/Templates/Stores/library/languages/fr.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/fr.js +490 -0
- package/dist/esm/src/Templates/Stores/library/languages/hi.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/hi.js +485 -0
- package/dist/esm/src/Templates/Stores/library/languages/it.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/it.js +485 -0
- package/dist/esm/src/Templates/Stores/library/languages/ja.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/ja.js +485 -0
- package/dist/esm/src/Templates/Stores/library/languages/ko.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/ko.js +485 -0
- package/dist/esm/src/Templates/Stores/library/languages/nl.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/nl.js +485 -0
- package/dist/esm/src/Templates/Stores/library/languages/pt.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/pt.js +485 -0
- package/dist/esm/src/Templates/Stores/library/languages/ru.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/ru.js +485 -0
- package/dist/esm/src/Templates/Stores/library/languages/tr.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/tr.js +485 -0
- package/dist/esm/src/Templates/Stores/library/languages/vi.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/vi.js +485 -0
- package/dist/esm/src/Templates/Stores/library/languages/zh.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/zh.js +485 -0
- package/dist/esm/src/create/createChatController.d.ts +5 -0
- package/dist/esm/src/create/createChatController.d.ts.map +1 -0
- package/dist/esm/src/create/createChatController.js +29 -0
- package/dist/esm/src/create/index.d.ts +1 -0
- package/dist/esm/src/create/index.d.ts.map +1 -1
- package/dist/esm/src/create/index.js +1 -0
- package/dist/esm/src/setupEvents.d.ts +13 -0
- package/dist/esm/src/setupEvents.d.ts.map +1 -1
- package/dist/esm/src/setupEvents.js +44 -0
- package/dist/esm/src/types.d.ts +13 -3
- package/dist/esm/src/types.d.ts.map +1 -1
- package/dist/esm/src/utils/applyChatTargetInject.d.ts +3 -0
- package/dist/esm/src/utils/applyChatTargetInject.d.ts.map +1 -0
- package/dist/esm/src/utils/applyChatTargetInject.js +22 -0
- package/dist/esm/src/utils/index.d.ts +1 -0
- package/dist/esm/src/utils/index.d.ts.map +1 -1
- package/dist/esm/src/utils/index.js +1 -0
- package/eslint/src/validate-config.cjs +140 -98
- package/package.json +14 -12
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ChatButtonOrganism = void 0;
|
|
7
|
+
const jsx_runtime_1 = require("@emotion/react/jsx-runtime");
|
|
8
|
+
const hooks_1 = require("preact/hooks");
|
|
9
|
+
const react_1 = require("@emotion/react");
|
|
10
|
+
const classnames_1 = __importDefault(require("classnames"));
|
|
11
|
+
const deepmerge_1 = __importDefault(require("deepmerge"));
|
|
12
|
+
const mobx_react_lite_1 = require("mobx-react-lite");
|
|
13
|
+
const providers_1 = require("../../../providers");
|
|
14
|
+
const utilities_1 = require("../../../utilities");
|
|
15
|
+
const hooks_2 = require("../../../hooks");
|
|
16
|
+
const Button_1 = require("../../Atoms/Button");
|
|
17
|
+
const Chat_lang_1 = require("../Chat/Chat.lang");
|
|
18
|
+
const ChatButton_lang_1 = require("./ChatButton.lang");
|
|
19
|
+
const defaultStyles = ({ theme }) => {
|
|
20
|
+
// primary may be 'currentColor' (base theme) — background stays fixed so the
|
|
21
|
+
// pill remains legible wherever it inherits its color from
|
|
22
|
+
const color = theme?.variables?.colors?.primary || '#333';
|
|
23
|
+
return (0, react_1.css)({
|
|
24
|
+
display: 'inline-flex',
|
|
25
|
+
alignItems: 'center',
|
|
26
|
+
justifyContent: 'center',
|
|
27
|
+
gap: '8px',
|
|
28
|
+
padding: '8px 16px',
|
|
29
|
+
background: '#fff',
|
|
30
|
+
color: color,
|
|
31
|
+
border: `1px solid ${color}`,
|
|
32
|
+
borderRadius: '24px',
|
|
33
|
+
fontSize: '14px',
|
|
34
|
+
fontWeight: 600,
|
|
35
|
+
lineHeight: 1.2,
|
|
36
|
+
cursor: 'pointer',
|
|
37
|
+
transition: 'box-shadow 0.15s ease',
|
|
38
|
+
'&:hover': {
|
|
39
|
+
boxShadow: '0 2px 6px rgba(0, 0, 0, 0.15)',
|
|
40
|
+
},
|
|
41
|
+
'&:focus-visible': {
|
|
42
|
+
outline: '2px solid currentColor',
|
|
43
|
+
outlineOffset: '2px',
|
|
44
|
+
},
|
|
45
|
+
// native Button always renders its content span — collapse it when empty
|
|
46
|
+
// so the flex gap doesn't offset icon-only buttons
|
|
47
|
+
'.ss__button__content:empty': {
|
|
48
|
+
display: 'none',
|
|
49
|
+
},
|
|
50
|
+
'.ss__icon': {
|
|
51
|
+
fill: 'currentColor',
|
|
52
|
+
stroke: 'currentColor',
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
exports.ChatButtonOrganism = (0, mobx_react_lite_1.observer)((properties) => {
|
|
57
|
+
const globalTheme = (0, providers_1.useTheme)();
|
|
58
|
+
const globalTreePath = (0, providers_1.useTreePath)();
|
|
59
|
+
const defaultProps = {
|
|
60
|
+
icon: 'chat',
|
|
61
|
+
treePath: globalTreePath,
|
|
62
|
+
};
|
|
63
|
+
const props = (0, utilities_1.mergeProps)('chatButton', globalTheme, defaultProps, properties);
|
|
64
|
+
const { overrideElement, shouldRenderDefault } = (0, hooks_2.useCustomComponentOverride)('chatButton', props);
|
|
65
|
+
const { className, internalClassName, controller, content, children, icon, disableStyles, treePath } = props;
|
|
66
|
+
const { store } = controller;
|
|
67
|
+
// Register with the store so the Chat organism hides its built-in bubble while
|
|
68
|
+
// an external launcher is mounted. Runs before any early return (hooks-order safe).
|
|
69
|
+
(0, hooks_1.useEffect)(() => store.registerLauncher(), [store]);
|
|
70
|
+
// Same visibility rule as the Chat organism: hidden when disabled at bootstrap,
|
|
71
|
+
// but kept mounted when chat becomes disabled mid-session.
|
|
72
|
+
const wasVisibleRef = (0, hooks_1.useRef)(false);
|
|
73
|
+
if (!store.chatEnabled && !wasVisibleRef.current) {
|
|
74
|
+
return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
|
|
75
|
+
}
|
|
76
|
+
wasVisibleRef.current = true;
|
|
77
|
+
if (!shouldRenderDefault) {
|
|
78
|
+
return overrideElement;
|
|
79
|
+
}
|
|
80
|
+
const subProps = {
|
|
81
|
+
button: {
|
|
82
|
+
// inherited props
|
|
83
|
+
...(0, utilities_1.defined)({
|
|
84
|
+
disableStyles,
|
|
85
|
+
}),
|
|
86
|
+
// component theme overrides
|
|
87
|
+
theme: props?.theme,
|
|
88
|
+
treePath,
|
|
89
|
+
},
|
|
90
|
+
};
|
|
91
|
+
const styling = (0, utilities_1.mergeStyles)(props, defaultStyles);
|
|
92
|
+
const lang = (0, deepmerge_1.default)(ChatButton_lang_1.chatButtonDefaultLang, props.lang || {});
|
|
93
|
+
return ((0, jsx_runtime_1.jsx)(providers_1.CacheProvider, { children: (0, jsx_runtime_1.jsx)(Button_1.Button, { ...styling, ...subProps.button, native: true, type: "button", className: (0, classnames_1.default)('ss__chat-button', { 'ss__chat-button--open': store.open }, className, internalClassName), "aria-label": store.open ? (0, Chat_lang_1.langAttrOf)(lang.closeChatButton, 'aria-label') : (0, Chat_lang_1.langAttrOf)(lang.openChatButton, 'aria-label'), title: store.open ? (0, Chat_lang_1.langAttrOf)(lang.closeChatButton, 'title') : (0, Chat_lang_1.langAttrOf)(lang.openChatButton, 'title'), "aria-expanded": store.open, onClick: () => controller.handlers.button.click(), content: content || children ? ((0, jsx_runtime_1.jsxs)("span", { className: "ss__chat-button__content", children: [(0, utilities_1.cloneWithProps)(content, { treePath }), (0, utilities_1.cloneWithProps)(children, { treePath })] })) : undefined, icon: icon && { internalClassName: 'ss__chat-button__icon', ...(typeof icon == 'string' ? { icon: icon } : typeof icon == 'object' ? icon : {}) } }) }));
|
|
94
|
+
});
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.chatButtonDefaultLang = void 0;
|
|
4
|
+
exports.chatButtonDefaultLang = {
|
|
5
|
+
openChatButton: {
|
|
6
|
+
attributes: { 'aria-label': 'Open chat', title: 'Open Chat' },
|
|
7
|
+
},
|
|
8
|
+
closeChatButton: {
|
|
9
|
+
attributes: { 'aria-label': 'Close chat', title: 'Close Chat' },
|
|
10
|
+
},
|
|
11
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./ChatButton"), exports);
|
|
18
|
+
__exportStar(require("./ChatButton.lang"), exports);
|
|
@@ -258,7 +258,7 @@ exports.QuickviewLayout = (0, mobx_react_lite_1.observer)((properties) => {
|
|
|
258
258
|
hideBadge: false,
|
|
259
259
|
};
|
|
260
260
|
const props = (0, utilities_1.mergeProps)('quickviewLayout', globalTheme, defaultProps, properties);
|
|
261
|
-
const { quickviewManager, className, internalClassName, disableStyles, treePath, hideBadge, column1, column2, column3, column4, recommendation } = props;
|
|
261
|
+
const { quickviewManager, className, internalClassName, disableStyles, treePath, hideBadge, variantDropdownType, column1, column2, column3, column4, recommendation, } = props;
|
|
262
262
|
// NOTE: the `!shouldRenderDefault` return lives below the last hook call — every hook in this
|
|
263
263
|
// component must run unconditionally on every render (shouldRenderDefault can flip while
|
|
264
264
|
// mounted, e.g. when a pending customComponent import resolves or fails).
|
|
@@ -281,6 +281,12 @@ exports.QuickviewLayout = (0, mobx_react_lite_1.observer)((properties) => {
|
|
|
281
281
|
moreInfoButton: {
|
|
282
282
|
value: 'More info',
|
|
283
283
|
},
|
|
284
|
+
similarButton: {
|
|
285
|
+
value: 'Similar',
|
|
286
|
+
},
|
|
287
|
+
discussButton: {
|
|
288
|
+
value: 'Discuss',
|
|
289
|
+
},
|
|
284
290
|
loadingText: {
|
|
285
291
|
value: 'Loading…',
|
|
286
292
|
},
|
|
@@ -343,7 +349,8 @@ exports.QuickviewLayout = (0, mobx_react_lite_1.observer)((properties) => {
|
|
|
343
349
|
// is within it).
|
|
344
350
|
(0, hooks_1.useEffect)(() => {
|
|
345
351
|
const isOpenNow = Boolean(quickviewManager?.store?.isOpen);
|
|
346
|
-
|
|
352
|
+
// inline embeds (e.g. the chat secondary window) are not modal — Escape must not close them
|
|
353
|
+
if (!shouldRenderDefault || !isOpenNow || props.inline)
|
|
347
354
|
return;
|
|
348
355
|
const onKey = (e) => {
|
|
349
356
|
if (e.key === 'Escape' && !galleryOpen) {
|
|
@@ -352,7 +359,7 @@ exports.QuickviewLayout = (0, mobx_react_lite_1.observer)((properties) => {
|
|
|
352
359
|
};
|
|
353
360
|
window.addEventListener('keydown', onKey);
|
|
354
361
|
return () => window.removeEventListener('keydown', onKey);
|
|
355
|
-
}, [shouldRenderDefault, quickviewManager?.store?.isOpen, galleryOpen]);
|
|
362
|
+
}, [shouldRenderDefault, quickviewManager?.store?.isOpen, galleryOpen, props.inline]);
|
|
356
363
|
// Recommendation modules. `findModule` runs inside .map()/recursion and must not call hooks, so
|
|
357
364
|
// resolve every referenced profile's controller + components here (stable order) and let
|
|
358
365
|
// findModule read from this map. Mirrors Organisms/NoResults.
|
|
@@ -449,12 +456,18 @@ exports.QuickviewLayout = (0, mobx_react_lite_1.observer)((properties) => {
|
|
|
449
456
|
};
|
|
450
457
|
// Dialog semantics + focus trap for the quickview content, following the autocomplete
|
|
451
458
|
// containers (AutocompleteModal/AutocompleteSlideout): useA11y traps Tab within the
|
|
452
|
-
// content and wires Escape to the callback above.
|
|
459
|
+
// content and wires Escape to the callback above. Inline embeds (e.g. the chat secondary
|
|
460
|
+
// window) are part of the surrounding page — no dialog role and no focus trap, which
|
|
461
|
+
// would otherwise stop the shopper tabbing out to the chat composer.
|
|
453
462
|
const contentProps = {
|
|
454
463
|
className: 'ss__quickview__content',
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
464
|
+
...(props.inline
|
|
465
|
+
? {}
|
|
466
|
+
: {
|
|
467
|
+
role: 'dialog',
|
|
468
|
+
'aria-modal': 'true',
|
|
469
|
+
ref: (e) => (0, hooks_2.useA11y)(e, 0, true, handleEscape),
|
|
470
|
+
}),
|
|
458
471
|
...mergedLang.quickview?.attributes,
|
|
459
472
|
};
|
|
460
473
|
// Prefer `product.display` so the displayed name/image/attributes reflect the
|
|
@@ -549,17 +562,23 @@ exports.QuickviewLayout = (0, mobx_react_lite_1.observer)((properties) => {
|
|
|
549
562
|
// the selection whose field matches (e.g. `variantSelection.color`). The field also matches its
|
|
550
563
|
// component-name form (`color_family` → `color-family`). A bare `variantSelection` module is
|
|
551
564
|
// not supported.
|
|
565
|
+
// `variantDropdownType` swaps the component for selections that aren't swatches.
|
|
566
|
+
const renderSelection = (selection) => {
|
|
567
|
+
const isSwatch = selection.type === 'swatch' || selection.type === 'swatches';
|
|
568
|
+
const type = variantDropdownType && !isSwatch ? variantDropdownType : selection.type;
|
|
569
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: "ss__quickview__variant", children: [(0, jsx_runtime_1.jsx)("div", { className: "ss__quickview__variant-title", children: selection.label || selection.field }), (0, jsx_runtime_1.jsx)(VariantSelection_1.VariantSelection, { selection: selection, type: type, theme: props.theme, treePath: treePath, ...(0, utilities_1.defined)({ disableStyles }) })] }, selection.field));
|
|
570
|
+
};
|
|
552
571
|
if (module == 'variantSelections') {
|
|
553
572
|
if (!selections || selections.length === 0)
|
|
554
573
|
return null;
|
|
555
|
-
return (
|
|
574
|
+
return (0, jsx_runtime_1.jsx)("div", { className: "ss__quickview__variants", children: selections.map((selection) => renderSelection(selection)) });
|
|
556
575
|
}
|
|
557
576
|
if (module.startsWith('variantSelection.')) {
|
|
558
577
|
const name = module.slice('variantSelection.'.length);
|
|
559
578
|
const selection = selections?.find((selection) => selection.field === name || (0, snap_toolbox_1.fieldNameToComponentName)(selection.field) === name);
|
|
560
579
|
if (!name || !selection)
|
|
561
580
|
return null;
|
|
562
|
-
return (
|
|
581
|
+
return renderSelection(selection);
|
|
563
582
|
}
|
|
564
583
|
if (module == 'button.add-to-cart') {
|
|
565
584
|
if (!product)
|
|
@@ -569,7 +588,7 @@ exports.QuickviewLayout = (0, mobx_react_lite_1.observer)((properties) => {
|
|
|
569
588
|
if (module == 'button.more-info') {
|
|
570
589
|
if (!url)
|
|
571
590
|
return null;
|
|
572
|
-
return ((0, jsx_runtime_1.jsx)(Button_1.Button, { name: "more-info", internalClassName: "
|
|
591
|
+
return ((0, jsx_runtime_1.jsx)(Button_1.Button, { name: "more-info", internalClassName: "ss__quickview__more-info", lang: { button: lang.moreInfoButton }, onClick: (e) => {
|
|
573
592
|
// track the redirect to the product page as a quickview clickThrough
|
|
574
593
|
// before navigating away (delegated with `quickView: true`)
|
|
575
594
|
if (product) {
|
|
@@ -578,6 +597,20 @@ exports.QuickviewLayout = (0, mobx_react_lite_1.observer)((properties) => {
|
|
|
578
597
|
window.location.href = url;
|
|
579
598
|
}, theme: props.theme, treePath: treePath, ...(0, utilities_1.defined)({ disableStyles }) }));
|
|
580
599
|
}
|
|
600
|
+
// Chat-only modules: `button.similar` and `button.discuss` forward to the chat controller
|
|
601
|
+
// that opened the quickview. They render nothing for non-chat source controllers, so a
|
|
602
|
+
// layout carrying them stays safe to share across surfaces.
|
|
603
|
+
if (module == 'button.similar' || module == 'button.discuss') {
|
|
604
|
+
const chatController = quickviewManager.sourceController?.type === 'chat' ? quickviewManager.sourceController : undefined;
|
|
605
|
+
if (!product || !chatController)
|
|
606
|
+
return null;
|
|
607
|
+
if (module == 'button.similar') {
|
|
608
|
+
if (!chatController.store.features?.similarProducts?.enabled)
|
|
609
|
+
return null;
|
|
610
|
+
return ((0, jsx_runtime_1.jsx)(Button_1.Button, { name: "similar", internalClassName: "ss__quickview__similar", lang: { button: lang.similarButton }, onClick: () => chatController.productSimilar(product), theme: props.theme, treePath: treePath, ...(0, utilities_1.defined)({ disableStyles }) }));
|
|
611
|
+
}
|
|
612
|
+
return ((0, jsx_runtime_1.jsx)(Button_1.Button, { name: "discuss", internalClassName: "ss__quickview__discuss", lang: { button: lang.discussButton }, onClick: () => chatController.productQuery(product), theme: props.theme, treePath: treePath, ...(0, utilities_1.defined)({ disableStyles }) }));
|
|
613
|
+
}
|
|
581
614
|
// `quantityPicker` binds to the observable `product.quantity`, which `button.add-to-cart`
|
|
582
615
|
// (via the cart store) picks up when the product is added.
|
|
583
616
|
if (module == 'quantityPicker') {
|
|
@@ -613,5 +646,5 @@ exports.QuickviewLayout = (0, mobx_react_lite_1.observer)((properties) => {
|
|
|
613
646
|
}
|
|
614
647
|
const topRowCounter = { value: 0 };
|
|
615
648
|
const closeButton = ((0, jsx_runtime_1.jsx)(Button_1.Button, { name: "close", internalClassName: "ss__quickview__close", icon: "close-thin", lang: { button: lang.closeButton }, onClick: () => onClose(), theme: props.theme, treePath: treePath, ...(0, utilities_1.defined)({ disableStyles }) }));
|
|
616
|
-
return ((0, jsx_runtime_1.jsx)(providers_1.CacheProvider, { children: (0, jsx_runtime_1.jsx)("div", { ...styling, className: (0, classnames_1.default)('ss__quickview', className, internalClassName), children: error || loading || product ? ((0, jsx_runtime_1.jsxs)("div", { ...contentProps, children: [closeButton, error ? ((0, jsx_runtime_1.jsx)("div", { className: "ss__quickview__error", role: "alert", children: error.message })) : loading ? ((0, jsx_runtime_1.jsx)("div", { className: "ss__quickview__loading", ...mergedLang.loadingText?.all })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [layout?.map((module) => findModule(module, topRowCounter)), (0, jsx_runtime_1.jsx)(Gallery_1.Gallery, { images: galleryImages, open: galleryOpen, startIndex: galleryIndex, onClose: () => setGalleryOpen(false), alt: name, theme: props.theme, treePath: treePath, ...(0, utilities_1.defined)({ disableStyles }) })] }))] })) : null }) }));
|
|
649
|
+
return ((0, jsx_runtime_1.jsx)(providers_1.CacheProvider, { children: (0, jsx_runtime_1.jsx)("div", { ...styling, className: (0, classnames_1.default)('ss__quickview', className, internalClassName), children: error || loading || product ? ((0, jsx_runtime_1.jsxs)("div", { ...contentProps, children: [!props.inline && closeButton, error ? ((0, jsx_runtime_1.jsx)("div", { className: "ss__quickview__error", role: "alert", children: error.message })) : loading ? ((0, jsx_runtime_1.jsx)("div", { className: "ss__quickview__loading", ...mergedLang.loadingText?.all })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [layout?.map((module) => findModule(module, topRowCounter)), (0, jsx_runtime_1.jsx)(Gallery_1.Gallery, { images: galleryImages, open: galleryOpen, startIndex: galleryIndex, onClose: () => setGalleryOpen(false), alt: name, theme: props.theme, treePath: treePath, ...(0, utilities_1.defined)({ disableStyles }) })] }))] })) : null }) }));
|
|
617
650
|
});
|
|
@@ -25,7 +25,7 @@ const defaultStyles = ({ gapSize, columns }) => {
|
|
|
25
25
|
flexFlow: 'row wrap',
|
|
26
26
|
gap: gapSize,
|
|
27
27
|
gridTemplateRows: 'auto',
|
|
28
|
-
gridTemplateColumns: `repeat(${columns}, 1fr)`,
|
|
28
|
+
gridTemplateColumns: `repeat(${columns}, minmax(0, 1fr))`,
|
|
29
29
|
'& .ss__result, & .ss__result-layout': {
|
|
30
30
|
boxSizing: 'border-box',
|
|
31
31
|
flex: '0 1 auto',
|
|
@@ -151,6 +151,11 @@ exports.AutocompleteFixed = (0, mobx_react_lite_1.observer)((properties) => {
|
|
|
151
151
|
closeSearchButton: {
|
|
152
152
|
onClick: () => reset(),
|
|
153
153
|
},
|
|
154
|
+
// wiring only — no default `icon`, so the button stays hidden until a site
|
|
155
|
+
// opts in by supplying one via theme or props (see SearchInput.hideChatButton)
|
|
156
|
+
chatButton: {
|
|
157
|
+
onClick: () => controller.openChat(),
|
|
158
|
+
},
|
|
154
159
|
inputName: inputName,
|
|
155
160
|
// inherited props
|
|
156
161
|
...(0, utilities_1.defined)({
|
|
@@ -162,6 +162,11 @@ exports.AutocompleteModal = (0, mobx_react_lite_1.observer)((properties) => {
|
|
|
162
162
|
onClick: () => reset(),
|
|
163
163
|
icon: 'angle-left',
|
|
164
164
|
},
|
|
165
|
+
// wiring only — no default `icon`, so the button stays hidden until a site
|
|
166
|
+
// opts in by supplying one via theme or props (see SearchInput.hideChatButton)
|
|
167
|
+
chatButton: {
|
|
168
|
+
onClick: () => controller.openChat(),
|
|
169
|
+
},
|
|
165
170
|
inputName: inputName,
|
|
166
171
|
// inherited props
|
|
167
172
|
...(0, utilities_1.defined)({
|
package/dist/cjs/components/src/components/Templates/AutocompleteSlideout/AutocompleteSlideout.js
CHANGED
|
@@ -113,6 +113,11 @@ exports.AutocompleteSlideout = (0, mobx_react_lite_1.observer)((properties) => {
|
|
|
113
113
|
onClick: () => reset(),
|
|
114
114
|
icon: 'angle-left',
|
|
115
115
|
},
|
|
116
|
+
// wiring only — no default `icon`, so the button stays hidden until a site
|
|
117
|
+
// opts in by supplying one via theme or props (see SearchInput.hideChatButton)
|
|
118
|
+
chatButton: {
|
|
119
|
+
onClick: () => controller.openChat(),
|
|
120
|
+
},
|
|
116
121
|
// inherited props
|
|
117
122
|
...(0, utilities_1.defined)({
|
|
118
123
|
disableStyles,
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Chat = void 0;
|
|
7
|
+
const jsx_runtime_1 = require("@emotion/react/jsx-runtime");
|
|
8
|
+
const react_1 = require("@emotion/react");
|
|
9
|
+
const classnames_1 = __importDefault(require("classnames"));
|
|
10
|
+
const mobx_react_lite_1 = require("mobx-react-lite");
|
|
11
|
+
const providers_1 = require("../../../providers");
|
|
12
|
+
const utilities_1 = require("../../../utilities");
|
|
13
|
+
const Chat_1 = require("../../Organisms/Chat");
|
|
14
|
+
const defaultStyles = () => {
|
|
15
|
+
// The template itself is layout-free — the underlying Chat organism handles
|
|
16
|
+
// fixed positioning and sizing. The wrapper exists purely so theme overrides
|
|
17
|
+
// flow through mergeProps('chat', ...) and so the Chat surface can be themed
|
|
18
|
+
// per-template like Search and Recommendation.
|
|
19
|
+
return (0, react_1.css)({});
|
|
20
|
+
};
|
|
21
|
+
exports.Chat = (0, mobx_react_lite_1.observer)((properties) => {
|
|
22
|
+
const globalTheme = (0, providers_1.useTheme)();
|
|
23
|
+
const globalTreePath = (0, providers_1.useTreePath)();
|
|
24
|
+
const defaultProps = {
|
|
25
|
+
treePath: globalTreePath,
|
|
26
|
+
};
|
|
27
|
+
const props = (0, utilities_1.mergeProps)('chat', globalTheme, defaultProps, properties);
|
|
28
|
+
const { className, internalClassName, controller, disableStyles, treePath } = props;
|
|
29
|
+
const subProps = {
|
|
30
|
+
Chat: {
|
|
31
|
+
// inherited props
|
|
32
|
+
...(0, utilities_1.defined)({
|
|
33
|
+
disableStyles,
|
|
34
|
+
}),
|
|
35
|
+
// component theme overrides
|
|
36
|
+
theme: props.theme,
|
|
37
|
+
treePath,
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
const styling = (0, utilities_1.mergeStyles)(props, defaultStyles);
|
|
41
|
+
// className/internalClassName stay on the template wrapper only — spreading them
|
|
42
|
+
// into the organism would duplicate user classes on two DOM levels
|
|
43
|
+
// treePath is omitted too — the organism calls mergeProps('chat') itself, and passing
|
|
44
|
+
// this one down would append a second 'chat' segment (ss-path="chat chat")
|
|
45
|
+
const organismProps = { ...props, className: undefined, internalClassName: undefined, treePath: undefined };
|
|
46
|
+
return ((0, jsx_runtime_1.jsx)(providers_1.CacheProvider, { children: (0, jsx_runtime_1.jsx)("div", { ...styling, className: (0, classnames_1.default)('ss__chat-template', className, internalClassName), children: (0, jsx_runtime_1.jsx)(Chat_1.ChatOrganism, { ...subProps.Chat, ...organismProps, controller: controller }) }) }));
|
|
47
|
+
});
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./Chat"), exports);
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ChatButton = void 0;
|
|
7
|
+
const jsx_runtime_1 = require("@emotion/react/jsx-runtime");
|
|
8
|
+
const react_1 = require("@emotion/react");
|
|
9
|
+
const classnames_1 = __importDefault(require("classnames"));
|
|
10
|
+
const mobx_react_lite_1 = require("mobx-react-lite");
|
|
11
|
+
const providers_1 = require("../../../providers");
|
|
12
|
+
const utilities_1 = require("../../../utilities");
|
|
13
|
+
const ChatButton_1 = require("../../Organisms/ChatButton");
|
|
14
|
+
const defaultStyles = () => {
|
|
15
|
+
// inline-block so the wrapper flows alongside its siblings when injected into
|
|
16
|
+
// merchant chrome (e.g. a nav); all button styling lives in the organism
|
|
17
|
+
return (0, react_1.css)({
|
|
18
|
+
display: 'inline-block',
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
exports.ChatButton = (0, mobx_react_lite_1.observer)((properties) => {
|
|
22
|
+
const globalTheme = (0, providers_1.useTheme)();
|
|
23
|
+
const globalTreePath = (0, providers_1.useTreePath)();
|
|
24
|
+
const defaultProps = {
|
|
25
|
+
treePath: globalTreePath,
|
|
26
|
+
};
|
|
27
|
+
const props = (0, utilities_1.mergeProps)('chatButton', globalTheme, defaultProps, properties);
|
|
28
|
+
const { className, internalClassName, controller, disableStyles, treePath } = props;
|
|
29
|
+
const subProps = {
|
|
30
|
+
ChatButton: {
|
|
31
|
+
// inherited props
|
|
32
|
+
...(0, utilities_1.defined)({
|
|
33
|
+
disableStyles,
|
|
34
|
+
}),
|
|
35
|
+
// component theme overrides
|
|
36
|
+
theme: props.theme,
|
|
37
|
+
treePath,
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
const styling = (0, utilities_1.mergeStyles)(props, defaultStyles);
|
|
41
|
+
// className/internalClassName stay on the template wrapper only — spreading them
|
|
42
|
+
// into the organism would duplicate user classes on two DOM levels
|
|
43
|
+
// treePath is omitted too — the organism calls mergeProps('chatButton') itself, and passing
|
|
44
|
+
// this one down would append a second 'chatButton' segment
|
|
45
|
+
const organismProps = { ...props, className: undefined, internalClassName: undefined, treePath: undefined };
|
|
46
|
+
return ((0, jsx_runtime_1.jsx)(providers_1.CacheProvider, { children: (0, jsx_runtime_1.jsx)("div", { ...styling, className: (0, classnames_1.default)('ss__chat-button-template', className, internalClassName), children: (0, jsx_runtime_1.jsx)(ChatButton_1.ChatButtonOrganism, { ...subProps.ChatButton, ...organismProps, controller: controller }) }) }));
|
|
47
|
+
});
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./ChatButton"), exports);
|
|
@@ -234,8 +234,16 @@ exports.Search = (0, mobx_react_lite_1.observer)((properties) => {
|
|
|
234
234
|
},
|
|
235
235
|
};
|
|
236
236
|
const styling = (0, utilities_1.mergeStyles)(props, defaultStyles);
|
|
237
|
+
// whitespace is not permitted in an id and would split the aria-labelledby id reference list
|
|
238
|
+
const tabControllerId = controller.id;
|
|
237
239
|
return ((0, jsx_runtime_1.jsx)(providers_1.CacheProvider, { children: (0, jsx_runtime_1.jsxs)("div", { ...styling, className: (0, classnames_1.default)(classNamePrefix, className, internalClassName, sidebarOpenState ? `${classNamePrefix}--sidebar-open` : ''), children: [(0, jsx_runtime_1.jsx)("div", { className: `${classNamePrefix}__header-section`, children: !hideTopToolbar && (0, jsx_runtime_1.jsx)(Toolbar_1.Toolbar, { ...subProps.TopToolbar, controller: controller }) }), (0, jsx_runtime_1.jsxs)("div", { className: `${classNamePrefix}__main-section`, children: [!hideSidebar &&
|
|
238
240
|
store.loaded &&
|
|
239
241
|
store.pagination.totalResults > 0 &&
|
|
240
|
-
(isMobile ? ((0, jsx_runtime_1.jsx)(Slideout_1.Slideout, { ...subProps.Slideout, active: justTransitionedToMobile ? false : sidebarOpenState, children: (0, jsx_runtime_1.jsx)("div", { className: `${classNamePrefix}__sidebar`, children: (0, jsx_runtime_1.jsx)(Sidebar_1.Sidebar, { ...subProps.MobileSidebar, controller: controller }) }) })) : sidebarOpenState ? ((0, jsx_runtime_1.jsx)("div", { className: `${classNamePrefix}__sidebar`, children: (0, jsx_runtime_1.jsx)(Sidebar_1.Sidebar, { ...subProps.Sidebar, controller: controller }) })) : null), (0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)(`${classNamePrefix}__content`),
|
|
242
|
+
(isMobile ? ((0, jsx_runtime_1.jsx)(Slideout_1.Slideout, { ...subProps.Slideout, active: justTransitionedToMobile ? false : sidebarOpenState, children: (0, jsx_runtime_1.jsx)("div", { className: `${classNamePrefix}__sidebar`, children: (0, jsx_runtime_1.jsx)(Sidebar_1.Sidebar, { ...subProps.MobileSidebar, controller: controller }) }) })) : sidebarOpenState ? ((0, jsx_runtime_1.jsx)("div", { className: `${classNamePrefix}__sidebar`, children: (0, jsx_runtime_1.jsx)(Sidebar_1.Sidebar, { ...subProps.Sidebar, controller: controller }) })) : null), (0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)(`${classNamePrefix}__content`), ...(tabManager?.active
|
|
243
|
+
? {
|
|
244
|
+
id: `ss__tabpanel--${tabControllerId}`,
|
|
245
|
+
role: 'tabpanel',
|
|
246
|
+
'aria-labelledby': `ss__tab--${tabControllerId}`,
|
|
247
|
+
}
|
|
248
|
+
: {}), children: [!hideMiddleToolbar && (0, jsx_runtime_1.jsx)(Toolbar_1.Toolbar, { ...subProps.MiddleToolbar, controller: controller }), store.pagination.totalResults ? ((0, jsx_runtime_1.jsx)(Results_1.Results, { ...subProps.Results, controller: controller })) : (store.pagination.totalResults === 0 && (0, jsx_runtime_1.jsx)(NoResults_1.NoResults, { ...subProps.NoResults, controller: controller })), !hideBottomToolbar && (0, jsx_runtime_1.jsx)(Toolbar_1.Toolbar, { ...subProps.BottomToolbar, controller: controller })] })] })] }) }));
|
|
241
249
|
});
|
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.useLang = exports.RecommendationResultTracker = void 0;
|
|
17
|
+
exports.useLang = exports.RecommendationResultTracker = exports.ChatButtonOrganism = exports.ChatOrganism = void 0;
|
|
18
18
|
// ATOMS
|
|
19
19
|
__exportStar(require("./components/Atoms/BadgeImage"), exports);
|
|
20
20
|
__exportStar(require("./components/Atoms/BadgePill"), exports);
|
|
@@ -23,6 +23,7 @@ __exportStar(require("./components/Atoms/BadgeText"), exports);
|
|
|
23
23
|
__exportStar(require("./components/Atoms/Banner"), exports);
|
|
24
24
|
__exportStar(require("./components/Atoms/Breadcrumbs"), exports);
|
|
25
25
|
__exportStar(require("./components/Atoms/Button"), exports);
|
|
26
|
+
__exportStar(require("./components/Atoms/ChatLoadingIndicator"), exports);
|
|
26
27
|
__exportStar(require("./components/Atoms/Dropdown"), exports);
|
|
27
28
|
__exportStar(require("./components/Atoms/FormattedNumber"), exports);
|
|
28
29
|
__exportStar(require("./components/Atoms/Icon"), exports);
|
|
@@ -38,6 +39,15 @@ __exportStar(require("./components/Atoms/Skeleton"), exports);
|
|
|
38
39
|
// MOLECULES
|
|
39
40
|
__exportStar(require("./components/Molecules/CalloutBadge"), exports);
|
|
40
41
|
__exportStar(require("./components/Molecules/Carousel"), exports);
|
|
42
|
+
__exportStar(require("./components/Molecules/ChatAttachmentContext"), exports);
|
|
43
|
+
__exportStar(require("./components/Molecules/ChatInspirationResultMessage"), exports);
|
|
44
|
+
__exportStar(require("./components/Molecules/ChatMessageText"), exports);
|
|
45
|
+
__exportStar(require("./components/Molecules/ChatMessageUser"), exports);
|
|
46
|
+
__exportStar(require("./components/Molecules/ChatProductComparisonMessage"), exports);
|
|
47
|
+
__exportStar(require("./components/Molecules/ChatQuickview"), exports);
|
|
48
|
+
__exportStar(require("./components/Molecules/ChatResult"), exports);
|
|
49
|
+
__exportStar(require("./components/Molecules/ChatResultsDisplay"), exports);
|
|
50
|
+
__exportStar(require("./components/Molecules/ChatSuggestedQuestions"), exports);
|
|
41
51
|
__exportStar(require("./components/Molecules/Checkbox"), exports);
|
|
42
52
|
__exportStar(require("./components/Molecules/ErrorHandler"), exports);
|
|
43
53
|
__exportStar(require("./components/Molecules/FacetGridOptions"), exports);
|
|
@@ -85,7 +95,13 @@ __exportStar(require("./components/Organisms/Sidebar"), exports);
|
|
|
85
95
|
__exportStar(require("./components/Organisms/Toolbar"), exports);
|
|
86
96
|
__exportStar(require("./components/Organisms/Autocomplete"), exports);
|
|
87
97
|
__exportStar(require("./components/Organisms/TermsList"), exports);
|
|
98
|
+
var Chat_1 = require("./components/Organisms/Chat");
|
|
99
|
+
Object.defineProperty(exports, "ChatOrganism", { enumerable: true, get: function () { return Chat_1.ChatOrganism; } });
|
|
100
|
+
var ChatButton_1 = require("./components/Organisms/ChatButton");
|
|
101
|
+
Object.defineProperty(exports, "ChatButtonOrganism", { enumerable: true, get: function () { return ChatButton_1.ChatButtonOrganism; } });
|
|
88
102
|
// TEMPLATES
|
|
103
|
+
__exportStar(require("./components/Templates/Chat"), exports);
|
|
104
|
+
__exportStar(require("./components/Templates/ChatButton"), exports);
|
|
89
105
|
__exportStar(require("./components/Templates/QuickviewModal"), exports);
|
|
90
106
|
__exportStar(require("./components/Templates/QuickviewSlideout"), exports);
|
|
91
107
|
__exportStar(require("./components/Templates/Recommendation"), exports);
|
|
@@ -12,6 +12,7 @@ exports.ALL_CUSTOM_COMPONENT_TYPES = [
|
|
|
12
12
|
'breadcrumbs',
|
|
13
13
|
'button',
|
|
14
14
|
'dropdown',
|
|
15
|
+
'chatLoadingIndicator',
|
|
15
16
|
'formattedNumber',
|
|
16
17
|
'icon',
|
|
17
18
|
'image',
|
|
@@ -29,6 +30,15 @@ exports.ALL_CUSTOM_COMPONENT_TYPES = [
|
|
|
29
30
|
'calloutBadge',
|
|
30
31
|
'carousel',
|
|
31
32
|
'checkbox',
|
|
33
|
+
'chatAttachmentContext',
|
|
34
|
+
'chatInspirationResultMessage',
|
|
35
|
+
'chatMessageText',
|
|
36
|
+
'chatMessageUser',
|
|
37
|
+
'chatProductComparisonMessage',
|
|
38
|
+
'chatQuickview',
|
|
39
|
+
'chatResult',
|
|
40
|
+
'chatResultsDisplay',
|
|
41
|
+
'chatSuggestedQuestions',
|
|
32
42
|
'grid',
|
|
33
43
|
'layoutSelector',
|
|
34
44
|
'list',
|
|
@@ -60,6 +70,16 @@ exports.ALL_CUSTOM_COMPONENT_TYPES = [
|
|
|
60
70
|
'terms',
|
|
61
71
|
/* organisms */
|
|
62
72
|
'branchOverride',
|
|
73
|
+
'chat',
|
|
74
|
+
'chatButton',
|
|
75
|
+
'chatComparisonsTray',
|
|
76
|
+
'chatComposer',
|
|
77
|
+
'chatFacetsBar',
|
|
78
|
+
'chatHistory',
|
|
79
|
+
'chatMessages',
|
|
80
|
+
'chatSessionFeedback',
|
|
81
|
+
'chatSideChat',
|
|
82
|
+
'chatTopicDrift',
|
|
63
83
|
'facet',
|
|
64
84
|
'facets',
|
|
65
85
|
'facetsHorizontal',
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.chatButton = void 0;
|
|
4
|
+
const chatButton_1 = require("../../../themeComponents/chatButton");
|
|
5
|
+
// ChatButton component props come from Template export
|
|
6
|
+
exports.chatButton = chatButton_1.chatButtonThemeComponentProps;
|
|
@@ -15,8 +15,12 @@ const searchCollapsible_1 = require("./searchCollapsible");
|
|
|
15
15
|
const autocompleteSlideout_1 = require("./autocompleteSlideout");
|
|
16
16
|
const autocompleteModal_1 = require("./autocompleteModal");
|
|
17
17
|
const autocompleteFixed_1 = require("./autocompleteFixed");
|
|
18
|
+
const chat_1 = require("./chat");
|
|
19
|
+
const chatButton_1 = require("./chatButton");
|
|
18
20
|
exports.templates = {
|
|
19
21
|
default: {
|
|
22
|
+
...chat_1.chat.default,
|
|
23
|
+
...chatButton_1.chatButton.default,
|
|
20
24
|
...autocompleteSlideout_1.autocompleteSlideout.default,
|
|
21
25
|
...autocompleteModal_1.autocompleteModal.default,
|
|
22
26
|
...autocompleteFixed_1.autocompleteFixed.default,
|
|
@@ -32,6 +36,8 @@ exports.templates = {
|
|
|
32
36
|
...searchHorizontal_1.searchHorizontal.default,
|
|
33
37
|
},
|
|
34
38
|
mobile: {
|
|
39
|
+
...chat_1.chat.mobile,
|
|
40
|
+
...chatButton_1.chatButton.mobile,
|
|
35
41
|
...autocompleteSlideout_1.autocompleteSlideout.mobile,
|
|
36
42
|
...autocompleteModal_1.autocompleteModal.mobile,
|
|
37
43
|
...autocompleteFixed_1.autocompleteFixed.mobile,
|
|
@@ -47,6 +53,8 @@ exports.templates = {
|
|
|
47
53
|
...searchHorizontal_1.searchHorizontal.mobile,
|
|
48
54
|
},
|
|
49
55
|
tablet: {
|
|
56
|
+
...chat_1.chat.tablet,
|
|
57
|
+
...chatButton_1.chatButton.tablet,
|
|
50
58
|
...autocompleteSlideout_1.autocompleteSlideout.tablet,
|
|
51
59
|
...autocompleteModal_1.autocompleteModal.tablet,
|
|
52
60
|
...autocompleteFixed_1.autocompleteFixed.tablet,
|
|
@@ -62,6 +70,8 @@ exports.templates = {
|
|
|
62
70
|
...searchHorizontal_1.searchHorizontal.tablet,
|
|
63
71
|
},
|
|
64
72
|
desktop: {
|
|
73
|
+
...chat_1.chat.desktop,
|
|
74
|
+
...chatButton_1.chatButton.desktop,
|
|
65
75
|
...autocompleteSlideout_1.autocompleteSlideout.desktop,
|
|
66
76
|
...autocompleteModal_1.autocompleteModal.desktop,
|
|
67
77
|
...autocompleteFixed_1.autocompleteFixed.desktop,
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.chatButton = void 0;
|
|
4
|
+
const chatButton_1 = require("../../../themeComponents/chatButton");
|
|
5
|
+
// ChatButton component props come from Template export
|
|
6
|
+
exports.chatButton = chatButton_1.chatButtonThemeComponentProps;
|