@athoscommerce/snap-preact 1.13.1 → 1.13.3-beta.168
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 +209 -0
- package/dist/cjs/components/src/components/Molecules/ChatInspirationResultMessage/index.js +17 -0
- package/dist/cjs/components/src/components/Molecules/ChatMessageText/ChatMessageText.js +258 -0
- package/dist/cjs/components/src/components/Molecules/ChatMessageText/index.js +17 -0
- package/dist/cjs/components/src/components/Molecules/ChatMessageUser/ChatMessageUser.js +282 -0
- package/dist/cjs/components/src/components/Molecules/ChatMessageUser/index.js +17 -0
- package/dist/cjs/components/src/components/Molecules/ChatProductComparisonMessage/ChatProductComparisonMessage.js +173 -0
- package/dist/cjs/components/src/components/Molecules/ChatProductComparisonMessage/index.js +17 -0
- package/dist/cjs/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.js +577 -0
- package/dist/cjs/components/src/components/Molecules/ChatProductQueryMessage/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 +44 -30
- 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 +621 -0
- package/dist/cjs/components/src/components/Organisms/Chat/Chat.lang.js +105 -0
- package/dist/cjs/components/src/components/Organisms/Chat/components/ChatAttachments.js +104 -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 +60 -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/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/mergeProps.js +2 -1
- 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 +72 -2
- 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 +474 -0
- package/dist/cjs/src/Templates/Stores/library/languages/de.js +474 -0
- package/dist/cjs/src/Templates/Stores/library/languages/es.js +479 -0
- package/dist/cjs/src/Templates/Stores/library/languages/fr.js +479 -0
- package/dist/cjs/src/Templates/Stores/library/languages/hi.js +474 -0
- package/dist/cjs/src/Templates/Stores/library/languages/it.js +474 -0
- package/dist/cjs/src/Templates/Stores/library/languages/ja.js +474 -0
- package/dist/cjs/src/Templates/Stores/library/languages/ko.js +474 -0
- package/dist/cjs/src/Templates/Stores/library/languages/nl.js +474 -0
- package/dist/cjs/src/Templates/Stores/library/languages/pt.js +474 -0
- package/dist/cjs/src/Templates/Stores/library/languages/ru.js +474 -0
- package/dist/cjs/src/Templates/Stores/library/languages/tr.js +474 -0
- package/dist/cjs/src/Templates/Stores/library/languages/vi.js +474 -0
- package/dist/cjs/src/Templates/Stores/library/languages/zh.js +474 -0
- package/dist/cjs/src/create/createChatController.js +30 -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 +30 -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 +19 -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 +203 -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 +252 -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 +38 -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 +276 -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 +19 -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 +167 -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/ChatProductQueryMessage/ChatProductQueryMessage.d.ts +38 -0
- package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.d.ts.map +1 -0
- package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.js +571 -0
- package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/index.d.ts +2 -0
- package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/index.d.ts.map +1 -0
- package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/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 +44 -30
- 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 +615 -0
- package/dist/esm/components/src/components/Organisms/Chat/Chat.lang.d.ts +76 -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 +100 -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 +98 -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 +56 -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/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/mergeProps.d.ts.map +1 -1
- package/dist/esm/components/src/utilities/mergeProps.js +2 -1
- 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 +2 -1
- package/dist/esm/src/Snap.d.ts.map +1 -1
- package/dist/esm/src/Snap.js +73 -3
- 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 +474 -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 +474 -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 +479 -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 +479 -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 +474 -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 +474 -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 +474 -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 +474 -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 +474 -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 +474 -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 +474 -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 +474 -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 +474 -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 +474 -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 +28 -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
|
@@ -45,6 +45,15 @@ const defaultStyles = () => {
|
|
|
45
45
|
background: 'rgba(255, 255, 255, 0.5)',
|
|
46
46
|
padding: '10px',
|
|
47
47
|
},
|
|
48
|
+
'& .ss__result__discuss-product-button': {
|
|
49
|
+
position: 'absolute',
|
|
50
|
+
bottom: '8px',
|
|
51
|
+
left: '8px',
|
|
52
|
+
padding: '4px',
|
|
53
|
+
border: 'none',
|
|
54
|
+
background: 'rgba(255, 255, 255, 0.5)',
|
|
55
|
+
cursor: 'pointer',
|
|
56
|
+
},
|
|
48
57
|
'& .ss__result__quickview': {
|
|
49
58
|
position: 'absolute',
|
|
50
59
|
bottom: '10px',
|
|
@@ -88,7 +97,7 @@ export const Result = observer((properties) => {
|
|
|
88
97
|
hideQuickviewButton: true,
|
|
89
98
|
};
|
|
90
99
|
const props = mergeProps('result', globalTheme, defaultProps, properties);
|
|
91
|
-
const { result, hideBadge, hideTitle, hidePricing, hideImage, detailSlot, fallback, disableStyles, className, internalClassName, layout, onClick, controller, hideVariantSelections, hideAddToCartButton, onAddToCartClick, addToCartButtonText, addToCartButtonSuccessText, addToCartButtonSuccessTimeout, hideRating, hideQuickviewButton, onQuickviewClick, trackingRef, treePath, } = props;
|
|
100
|
+
const { result, hideBadge, hideTitle, hidePricing, hideImage, detailSlot, fallback, disableStyles, className, internalClassName, layout, onClick, controller, hideVariantSelections, hideAddToCartButton, onAddToCartClick, addToCartButtonText, addToCartButtonSuccessText, addToCartButtonSuccessTimeout, hideRating, hideQuickviewButton, onQuickviewClick, trackingRef, treePath, discussProductIcon, onDiscussClick, } = props;
|
|
92
101
|
const { overrideElement, shouldRenderDefault } = useCustomComponentOverride('result', {
|
|
93
102
|
...props,
|
|
94
103
|
customComponent: props.customComponent && props.customComponent !== 'Result' ? props.customComponent : undefined,
|
|
@@ -148,7 +157,7 @@ export const Result = observer((properties) => {
|
|
|
148
157
|
// default props
|
|
149
158
|
internalClassName: 'ss__result__image',
|
|
150
159
|
alt: core?.name || '',
|
|
151
|
-
src: core?.imageUrl || '',
|
|
160
|
+
src: core?.imageUrl || core?.thumbnailImageUrl || '',
|
|
152
161
|
// inherited props
|
|
153
162
|
...defined({
|
|
154
163
|
disableStyles,
|
|
@@ -171,6 +180,17 @@ export const Result = observer((properties) => {
|
|
|
171
180
|
theme: props.theme,
|
|
172
181
|
treePath,
|
|
173
182
|
},
|
|
183
|
+
discussProductButton: {
|
|
184
|
+
// default props
|
|
185
|
+
internalClassName: 'ss__result__discuss-product-button',
|
|
186
|
+
// inherited props
|
|
187
|
+
...defined({
|
|
188
|
+
disableStyles,
|
|
189
|
+
}),
|
|
190
|
+
// component theme overrides
|
|
191
|
+
theme: props.theme,
|
|
192
|
+
treePath,
|
|
193
|
+
},
|
|
174
194
|
quickviewButton: {
|
|
175
195
|
// default props
|
|
176
196
|
name: 'quickview',
|
|
@@ -224,6 +244,12 @@ export const Result = observer((properties) => {
|
|
|
224
244
|
addToCartButtonText: {
|
|
225
245
|
value: addedToCart ? addToCartButtonSuccessText : addToCartButtonText,
|
|
226
246
|
},
|
|
247
|
+
discussProductButton: {
|
|
248
|
+
attributes: {
|
|
249
|
+
'aria-label': 'Discuss this product',
|
|
250
|
+
title: 'Discuss this product',
|
|
251
|
+
},
|
|
252
|
+
},
|
|
227
253
|
quickviewButtonText: {
|
|
228
254
|
attributes: {
|
|
229
255
|
'aria-label': 'Quick View',
|
|
@@ -240,11 +266,32 @@ export const Result = observer((properties) => {
|
|
|
240
266
|
const renderPrices = controller?.store?.config?.asyncState?.product?.price ? result.state.priceFetched : true;
|
|
241
267
|
return core ? (_jsx(CacheProvider, { children: _jsxs("article", { ...styling, className: classnames('ss__result', `ss__result--${layout}`, { 'ss__result--sale': isOnSale }, className, internalClassName), ref: trackingRef, children: [!hideImage && (_jsxs("div", { className: "ss__result__image-wrapper", children: [_jsx("a", { href: core.url, onClick: (e) => {
|
|
242
268
|
onClick && onClick(e);
|
|
243
|
-
}, children: !hideBadge ? (_jsx(OverlayBadge, { ...subProps.overlayBadge, controller: controller, children: _jsx(Image, { ...subProps.image }) })) : (_jsx(Image, { ...subProps.image })) }),
|
|
269
|
+
}, children: !hideBadge ? (_jsx(OverlayBadge, { ...subProps.overlayBadge, controller: controller, children: _jsx(Image, { ...subProps.image }) })) : (_jsx(Image, { ...subProps.image })) }), discussProductIcon && (_jsx(Button, { ...subProps.discussProductButton, icon: discussProductIcon, onClick: (e) => {
|
|
270
|
+
e.preventDefault();
|
|
271
|
+
e.stopPropagation();
|
|
272
|
+
if (onDiscussClick) {
|
|
273
|
+
onDiscussClick(e, result);
|
|
274
|
+
}
|
|
275
|
+
else if (controller?.type === 'chat') {
|
|
276
|
+
// rendered inside a Chat — go straight to the controller
|
|
277
|
+
controller.productQuery(result);
|
|
278
|
+
}
|
|
279
|
+
else {
|
|
280
|
+
// otherwise hand off to an integrated Chat via the global bus,
|
|
281
|
+
// which the integration layer wires up (see setupEvents)
|
|
282
|
+
const fire = window?.athos?.fire;
|
|
283
|
+
if (typeof fire === 'function') {
|
|
284
|
+
fire('controller/chat/productQuery', { result });
|
|
285
|
+
}
|
|
286
|
+
else {
|
|
287
|
+
controller?.log?.warn('discussProductIcon requires an onDiscussClick handler or an integrated Chat');
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
}, ...mergedLang.discussProductButton.all })), !hideQuickviewButton && controller?.quickviewManager && (_jsx(Button, { ...subProps.quickviewButton, ...mergedLang.quickviewButtonText.attributes }))] })), _jsxs("div", { className: "ss__result__details", children: [!hideBadge && (_jsx(CalloutBadge, { ...subProps.calloutBadge, controller: controller })), !hideTitle && (_jsx("div", { className: "ss__result__details__title", children: _jsx("a", { href: core.url, onClick: (e) => {
|
|
244
291
|
onClick && onClick(e);
|
|
245
292
|
}, dangerouslySetInnerHTML: {
|
|
246
293
|
__html: displayName || '',
|
|
247
|
-
} }) })), !hideRating && _jsx(Rating, { ...subProps.rating }), !hidePricing && renderPrices && core.price && core.price > 0 ? (_jsx("div", { className: "ss__result__details__pricing", children: isOnSale ? (_jsxs(_Fragment, { children: [_jsx(Price, { ...subProps.price, value: core.msrp, lineThrough: true, name: 'msrp' }), "\u00A0", _jsx(Price, { ...subProps.price, value: core.price, name: 'price' })] })) : (_jsx(Price, { ...subProps.price, value: core.price })) })) : null, cloneWithProps(detailSlot, { result, treePath }), !hideVariantSelections && result.variants?.selections
|
|
294
|
+
} }) })), !hideRating && _jsx(Rating, { ...subProps.rating }), !hidePricing && renderPrices && core.price && core.price > 0 ? (_jsx("div", { className: "ss__result__details__pricing", children: isOnSale ? (_jsxs(_Fragment, { children: [_jsx(Price, { ...subProps.price, value: core.msrp, lineThrough: true, name: 'msrp' }), "\u00A0", _jsx(Price, { ...subProps.price, value: core.price, name: 'price' })] })) : (_jsx(Price, { ...subProps.price, value: core.price })) })) : null, cloneWithProps(detailSlot, { result, treePath }), !hideVariantSelections && result.variants?.selections?.length ? (_jsx("div", { className: "ss__result__details__variant-selection", children: result.variants?.selections.map((selection) => {
|
|
248
295
|
return (_jsx(VariantSelection, { ...subProps.variantSelection, type: selection.type, selection: selection }));
|
|
249
296
|
}) })) : null, !hideAddToCartButton && (_jsx("div", { className: "ss__result__add-to-cart-wrapper", children: _jsx(Button, { ...subProps.button, ...mergedLang.addToCartButtonText.all }) }))] })] }) })) : null;
|
|
250
297
|
});
|
|
@@ -16,9 +16,11 @@ export type SearchInputTemplatesLegalProps = {
|
|
|
16
16
|
submitSearchButton?: Buttons;
|
|
17
17
|
clearSearchButton?: Buttons;
|
|
18
18
|
closeSearchButton?: Buttons;
|
|
19
|
+
chatButton?: Buttons;
|
|
19
20
|
hideSubmitSearchButton?: boolean;
|
|
20
21
|
hideClearSearchButton?: boolean;
|
|
21
22
|
hideCloseSearchButton?: boolean;
|
|
23
|
+
hideChatButton?: boolean;
|
|
22
24
|
inputName?: string;
|
|
23
25
|
disabled?: boolean;
|
|
24
26
|
onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
|
|
@@ -33,6 +35,7 @@ export interface SearchInputLang {
|
|
|
33
35
|
closeSearchButton?: Lang<never>;
|
|
34
36
|
clearSearchButton?: Lang<never>;
|
|
35
37
|
submitSearchButton?: Lang<never>;
|
|
38
|
+
chatButton?: Lang<never>;
|
|
36
39
|
}
|
|
37
40
|
export {};
|
|
38
41
|
//# sourceMappingURL=SearchInput.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchInput.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Molecules/SearchInput/SearchInput.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAQ3B,OAAO,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAY,UAAU,EAA0B,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAU,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,IAAI,EAAE,cAAc,EAAW,MAAM,wBAAwB,CAAC;AAoCvE,eAAO,MAAM,WAAW,gBAAyB,gBAAgB;;
|
|
1
|
+
{"version":3,"file":"SearchInput.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Molecules/SearchInput/SearchInput.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAQ3B,OAAO,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAY,UAAU,EAA0B,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAU,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,IAAI,EAAE,cAAc,EAAW,MAAM,wBAAwB,CAAC;AAoCvE,eAAO,MAAM,WAAW,gBAAyB,gBAAgB;;CAuO/D,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,UAAU,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,8BAA8B,GACjC,cAAc,CAAC,gBAAgB,CAAC,CAAC;AAElC,MAAM,MAAM,8BAA8B,GAAG;IAC5C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAC5D,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAC7D,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAC/D,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IACjE,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,KAAK,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AASpC,MAAM,WAAW,eAAe;IAC/B,eAAe,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC;IACxC,iBAAiB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,iBAAiB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,kBAAkB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,UAAU,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;CACzB"}
|
|
@@ -76,7 +76,15 @@ export const SearchInput = observer((properties) => {
|
|
|
76
76
|
//passed in properties
|
|
77
77
|
...properties?.closeSearchButton,
|
|
78
78
|
};
|
|
79
|
-
|
|
79
|
+
props.chatButton = {
|
|
80
|
+
//defaults
|
|
81
|
+
...defaultProps.chatButton,
|
|
82
|
+
//theme
|
|
83
|
+
...props.chatButton,
|
|
84
|
+
//passed in properties
|
|
85
|
+
...properties?.chatButton,
|
|
86
|
+
};
|
|
87
|
+
const { placeholderText, value, submitSearchButton, closeSearchButton, clearSearchButton, chatButton, hideSubmitSearchButton, hideClearSearchButton, hideCloseSearchButton, hideChatButton, inputRef, inputName, onChange, onClick, onKeyDown, onKeyUp, disabled, disableStyles, className, internalClassName, treePath, } = props;
|
|
80
88
|
const { overrideElement, shouldRenderDefault } = useCustomComponentOverride('searchInput', props);
|
|
81
89
|
if (!shouldRenderDefault) {
|
|
82
90
|
return overrideElement;
|
|
@@ -141,6 +149,19 @@ export const SearchInput = observer((properties) => {
|
|
|
141
149
|
theme: props?.theme,
|
|
142
150
|
treePath,
|
|
143
151
|
},
|
|
152
|
+
chatButton: {
|
|
153
|
+
// default props
|
|
154
|
+
...chatButton,
|
|
155
|
+
internalClassName: 'ss__search-input__button--chat-button',
|
|
156
|
+
name: 'chat',
|
|
157
|
+
// inherited props
|
|
158
|
+
...defined({
|
|
159
|
+
disableStyles,
|
|
160
|
+
}),
|
|
161
|
+
// component theme overrides
|
|
162
|
+
theme: props?.theme,
|
|
163
|
+
treePath,
|
|
164
|
+
},
|
|
144
165
|
};
|
|
145
166
|
const styling = mergeStyles(props, defaultStyles);
|
|
146
167
|
//initialize lang
|
|
@@ -165,6 +186,11 @@ export const SearchInput = observer((properties) => {
|
|
|
165
186
|
'aria-label': 'Submit Search',
|
|
166
187
|
},
|
|
167
188
|
},
|
|
189
|
+
chatButton: {
|
|
190
|
+
attributes: {
|
|
191
|
+
'aria-label': 'Open Chat',
|
|
192
|
+
},
|
|
193
|
+
},
|
|
168
194
|
};
|
|
169
195
|
//deep merge with props.lang
|
|
170
196
|
const lang = deepmerge(defaultLang, props.lang || {});
|
|
@@ -174,5 +200,5 @@ export const SearchInput = observer((properties) => {
|
|
|
174
200
|
setInputValue(e.target.value || '');
|
|
175
201
|
}
|
|
176
202
|
onChange && onChange(e);
|
|
177
|
-
}, disabled: disabled }), _jsxs("div", { className: "ss__search-input__icons", children: [!hideClearSearchButton && clearSearchButton && inputValue?.length ? (_jsx(Button, { ...subProps.clearSearchButton, ...mergedLang.clearSearchButton.all })) : null, !hideSubmitSearchButton && submitSearchButton && _jsx(Button, { ...subProps.submitSearchButton, ...mergedLang.submitSearchButton.all })] })] }) }));
|
|
203
|
+
}, disabled: disabled }), _jsxs("div", { className: "ss__search-input__icons", children: [!hideClearSearchButton && clearSearchButton && inputValue?.length ? (_jsx(Button, { ...subProps.clearSearchButton, ...mergedLang.clearSearchButton.all })) : null, !hideChatButton && chatButton?.icon ? _jsx(Button, { ...subProps.chatButton, ...mergedLang.chatButton.all }) : null, !hideSubmitSearchButton && submitSearchButton && _jsx(Button, { ...subProps.submitSearchButton, ...mergedLang.submitSearchButton.all })] })] }) }));
|
|
178
204
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Slideout.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Molecules/Slideout/Slideout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAS9C,OAAO,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAC;AA+B7D,eAAO,MAAM,QAAQ,gBAAyB,aAAa;;
|
|
1
|
+
{"version":3,"file":"Slideout.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Molecules/Slideout/Slideout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAS9C,OAAO,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAC;AA+B7D,eAAO,MAAM,QAAQ,gBAAyB,aAAa;;CAgIzD,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,2BAA2B,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;AACxF,MAAM,MAAM,2BAA2B,GAAG;IACzC,aAAa,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IACrC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAClC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
|
|
2
|
-
import { useState, useEffect, useLayoutEffect } from 'preact/hooks';
|
|
2
|
+
import { useState, useEffect, useRef, useLayoutEffect } from 'preact/hooks';
|
|
3
3
|
import { observer } from 'mobx-react-lite';
|
|
4
4
|
import { css } from '@emotion/react';
|
|
5
5
|
import classnames from 'classnames';
|
|
@@ -69,22 +69,21 @@ export const Slideout = observer((properties) => {
|
|
|
69
69
|
// state
|
|
70
70
|
const [isActive, setActive] = useState(Boolean(active));
|
|
71
71
|
const [renderContent, setRenderContent] = useState(Boolean(active));
|
|
72
|
-
const
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
setRenderContent(false);
|
|
79
|
-
}, 250);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
setActive(true);
|
|
72
|
+
const isActiveRef = useRef(isActive);
|
|
73
|
+
isActiveRef.current = isActive;
|
|
74
|
+
const toggleActive = (force) => {
|
|
75
|
+
const next = typeof force === 'boolean' ? force : !isActiveRef.current;
|
|
76
|
+
setActive(next);
|
|
77
|
+
if (next) {
|
|
84
78
|
setRenderContent(true);
|
|
85
79
|
}
|
|
86
|
-
|
|
87
|
-
|
|
80
|
+
else if (rerender) {
|
|
81
|
+
setTimeout(() => {
|
|
82
|
+
setRenderContent(false);
|
|
83
|
+
}, 250);
|
|
84
|
+
}
|
|
85
|
+
document.body.style.overflow = next ? 'hidden' : '';
|
|
86
|
+
onChange && onChange(next);
|
|
88
87
|
};
|
|
89
88
|
// Sync internal state when the active prop changes from the parent component. This is a
|
|
90
89
|
// layout effect so the content commit is scheduled before consumers' passive effects run —
|
|
@@ -100,19 +99,16 @@ export const Slideout = observer((properties) => {
|
|
|
100
99
|
document.body.style.overflow = isVisible && isActive ? 'hidden' : '';
|
|
101
100
|
const styling = mergeStyles(props, defaultStyles);
|
|
102
101
|
useEffect(() => {
|
|
103
|
-
if (buttonSelector)
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}, []);
|
|
102
|
+
if (!buttonSelector)
|
|
103
|
+
return;
|
|
104
|
+
// string selectors bind to every matching element
|
|
105
|
+
const targets = typeof buttonSelector == 'string' ? Array.from(document.querySelectorAll(buttonSelector)) : [buttonSelector];
|
|
106
|
+
const handler = () => toggleActive();
|
|
107
|
+
targets.forEach((target) => target.addEventListener('click', handler));
|
|
108
|
+
return () => {
|
|
109
|
+
targets.forEach((target) => target.removeEventListener('click', handler));
|
|
110
|
+
};
|
|
111
|
+
}, [buttonSelector]);
|
|
116
112
|
return isVisible || !rerender ? (_jsxs(CacheProvider, { children: [buttonContent &&
|
|
117
|
-
(noButtonWrapper ? (cloneWithProps(buttonContent, { toggleActive, active: isActive, treePath })) : (_jsx("div", { className: "ss__slideout__button", onClick: () => toggleActive(), children: cloneWithProps(buttonContent, { active: isActive, treePath }) }))), _jsx("div", { className: classnames('ss__slideout', className, internalClassName, { 'ss__slideout--active': isActive }), style: { visibility: !rerender ? (isVisible ? 'visible' : 'hidden') : 'visible' }, ...styling, children: renderContent && cloneWithProps(children, { toggleActive, active: isActive, treePath }) }), _jsx(Overlay, { ...subProps.overlay, active: isActive, onClick: toggleActive })] })) : null;
|
|
113
|
+
(noButtonWrapper ? (cloneWithProps(buttonContent, { toggleActive, active: isActive, treePath })) : (_jsx("div", { className: "ss__slideout__button", onClick: () => toggleActive(), children: cloneWithProps(buttonContent, { active: isActive, treePath }) }))), _jsx("div", { className: classnames('ss__slideout', className, internalClassName, { 'ss__slideout--active': isActive }), style: { visibility: !rerender ? (isVisible ? 'visible' : 'hidden') : 'visible' }, ...styling, children: renderContent && cloneWithProps(children, { toggleActive, active: isActive, treePath }) }), _jsx(Overlay, { ...subProps.overlay, active: isActive, onClick: () => toggleActive(false) })] })) : null;
|
|
118
114
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Slideshow.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Molecules/Slideshow/Slideshow.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAM3B,OAAO,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAI7D,OAAO,EAAE,IAAI,EAAuC,MAAM,gBAAgB,CAAC;AAE3E,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAyJxD,eAAO,MAAM,SAAS,gBAAyB,cAAc;;
|
|
1
|
+
{"version":3,"file":"Slideshow.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Molecules/Slideshow/Slideshow.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAM3B,OAAO,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAI7D,OAAO,EAAE,IAAI,EAAuC,MAAM,gBAAgB,CAAC;AAE3E,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAyJxD,eAAO,MAAM,SAAS,gBAAyB,cAAc;;CAgvB3D,CAAC;AAEH,MAAM,WAAW,aAAa;IAC7B,WAAW,EAAE,IAAI,CAAC;QACjB,SAAS,EAAE,OAAO,CAAC;QACnB,cAAc,EAAE,OAAO,CAAC;QACxB,cAAc,EAAE,OAAO,CAAC;KACxB,CAAC,CAAC;IACH,gBAAgB,EAAE,cAAc,CAAC;QAChC,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IACH,UAAU,EAAE,IAAI,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;QACnB,cAAc,EAAE,OAAO,CAAC;QACxB,cAAc,EAAE,OAAO,CAAC;KACxB,CAAC,CAAC;IACH,UAAU,EAAE,IAAI,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;QACnB,cAAc,EAAE,OAAO,CAAC;QACxB,cAAc,EAAE,OAAO,CAAC;KACxB,CAAC,CAAC;IACH,KAAK,EAAE,cAAc,CAAC;QACrB,eAAe,EAAE,OAAO,CAAC;QACzB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,YAAY,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IACH,cAAc,EAAE,IAAI,CAAC;QACpB,aAAa,EAAE,OAAO,CAAC;KACvB,CAAC,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,OAAO,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,cAAc,GAAG;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CAC9B,GAAG,4BAA4B,GAC/B,cAAc,CAAC,cAAc,CAAC,CAAC;AAEhC,MAAM,MAAM,4BAA4B,GAAG;IAC1C,MAAM,EAAE,CAAC,MAAM,GAAG,cAAc,CAAC,EAAE,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC"}
|
|
@@ -266,9 +266,15 @@ export const Slideshow = observer((properties) => {
|
|
|
266
266
|
}, []);
|
|
267
267
|
// Touch/Drag state
|
|
268
268
|
const [isDragging, setIsDragging] = useState(false);
|
|
269
|
-
//
|
|
270
|
-
// the
|
|
271
|
-
//
|
|
269
|
+
// mirrors `isDragging` state - the state drives renders (the dragging class, the transform,
|
|
270
|
+
// the autoplay effect), but the drag handlers below run through refs and can fire before
|
|
271
|
+
// the re-render that follows a setState (e.g. a tap's synthetic mouseup), so they read
|
|
272
|
+
// this ref instead. always update both via `setDragging`.
|
|
273
|
+
const isDraggingRef = useRef(false);
|
|
274
|
+
const setDragging = (value) => {
|
|
275
|
+
isDraggingRef.current = value;
|
|
276
|
+
setIsDragging(value);
|
|
277
|
+
};
|
|
272
278
|
const startXRef = useRef(0);
|
|
273
279
|
const currentXRef = useRef(0);
|
|
274
280
|
const [dragOffset, setDragOffset] = useState(0);
|
|
@@ -388,7 +394,7 @@ export const Slideshow = observer((properties) => {
|
|
|
388
394
|
}
|
|
389
395
|
hasDraggedRef.current = false;
|
|
390
396
|
setIsPlaying(false);
|
|
391
|
-
|
|
397
|
+
setDragging(true);
|
|
392
398
|
// a previous drag's mouseup may never have arrived (e.g. a native image drag hijacked it)
|
|
393
399
|
// that would leave dragOffset stuck from that aborted drag
|
|
394
400
|
// reset it so this drag always starts clean, not stacked on stale movement
|
|
@@ -401,7 +407,7 @@ export const Slideshow = observer((properties) => {
|
|
|
401
407
|
}
|
|
402
408
|
};
|
|
403
409
|
const handleDragMove = (clientX) => {
|
|
404
|
-
if (!
|
|
410
|
+
if (!isDraggingRef.current || !touchDragging)
|
|
405
411
|
return;
|
|
406
412
|
currentXRef.current = clientX;
|
|
407
413
|
const diff = clientX - startXRef.current;
|
|
@@ -414,7 +420,7 @@ export const Slideshow = observer((properties) => {
|
|
|
414
420
|
setDragOffset(diff);
|
|
415
421
|
};
|
|
416
422
|
const handleDragEnd = () => {
|
|
417
|
-
if (!
|
|
423
|
+
if (!isDraggingRef.current || !touchDragging)
|
|
418
424
|
return;
|
|
419
425
|
const diff = currentXRef.current - startXRef.current;
|
|
420
426
|
const threshold = getNavigationThreshold();
|
|
@@ -428,7 +434,7 @@ export const Slideshow = observer((properties) => {
|
|
|
428
434
|
goToNext();
|
|
429
435
|
}
|
|
430
436
|
}
|
|
431
|
-
|
|
437
|
+
setDragging(false);
|
|
432
438
|
setDragOffset(0);
|
|
433
439
|
dragBaseTranslatePxRef.current = null;
|
|
434
440
|
// Resume autoplay if it was playing
|
|
@@ -450,20 +456,35 @@ export const Slideshow = observer((properties) => {
|
|
|
450
456
|
}, autoPlayInterval);
|
|
451
457
|
}
|
|
452
458
|
};
|
|
453
|
-
|
|
454
|
-
|
|
459
|
+
// document listeners are bound once per drag, so they call the latest handlers through refs
|
|
460
|
+
const dragMoveRef = useRef(handleDragMove);
|
|
461
|
+
const dragEndRef = useRef(handleDragEnd);
|
|
462
|
+
dragMoveRef.current = handleDragMove;
|
|
463
|
+
dragEndRef.current = handleDragEnd;
|
|
464
|
+
const removeMouseListenersRef = useRef(null);
|
|
465
|
+
const handleMouseDown = (event) => {
|
|
466
|
+
// only the primary (left) button starts a drag; right/middle clicks keep their default behaviour
|
|
467
|
+
if (event.button !== 0)
|
|
468
|
+
return;
|
|
469
|
+
event.preventDefault();
|
|
470
|
+
handleDragStart(event.clientX);
|
|
471
|
+
// bound here rather than in an effect - a tap's synthetic mouseup fires before effects run
|
|
472
|
+
const onMouseMove = (e) => dragMoveRef.current(e.clientX);
|
|
473
|
+
const onMouseUp = () => {
|
|
474
|
+
removeMouseListenersRef.current?.();
|
|
475
|
+
dragEndRef.current();
|
|
476
|
+
};
|
|
477
|
+
removeMouseListenersRef.current?.();
|
|
478
|
+
removeMouseListenersRef.current = () => {
|
|
479
|
+
document.removeEventListener('mousemove', onMouseMove);
|
|
480
|
+
document.removeEventListener('mouseup', onMouseUp);
|
|
481
|
+
removeMouseListenersRef.current = null;
|
|
482
|
+
};
|
|
483
|
+
document.addEventListener('mousemove', onMouseMove);
|
|
484
|
+
document.addEventListener('mouseup', onMouseUp);
|
|
455
485
|
};
|
|
456
|
-
//
|
|
457
|
-
useEffect(() =>
|
|
458
|
-
if (isDragging && touchDragging) {
|
|
459
|
-
document.addEventListener('mousemove', handleMouseMove);
|
|
460
|
-
document.addEventListener('mouseup', handleDragEnd);
|
|
461
|
-
return () => {
|
|
462
|
-
document.removeEventListener('mousemove', handleMouseMove);
|
|
463
|
-
document.removeEventListener('mouseup', handleDragEnd);
|
|
464
|
-
};
|
|
465
|
-
}
|
|
466
|
-
}, [isDragging, touchDragging]);
|
|
486
|
+
// clean up if unmounted mid-drag
|
|
487
|
+
useEffect(() => () => removeMouseListenersRef.current?.(), []);
|
|
467
488
|
// Pause autoplay on hover or focus
|
|
468
489
|
const handleMouseEnter = () => {
|
|
469
490
|
if (isPlaying && intervalRef.current && !isDragging) {
|
|
@@ -645,7 +666,7 @@ export const Slideshow = observer((properties) => {
|
|
|
645
666
|
// @ts-ignore - touch events
|
|
646
667
|
onTouchMove: touchDragging
|
|
647
668
|
? (event) => {
|
|
648
|
-
if (
|
|
669
|
+
if (isDraggingRef.current) {
|
|
649
670
|
event.preventDefault(); // Prevent scrolling while dragging
|
|
650
671
|
}
|
|
651
672
|
const touch = event.touches[0];
|
|
@@ -653,16 +674,9 @@ export const Slideshow = observer((properties) => {
|
|
|
653
674
|
}
|
|
654
675
|
: undefined, onTouchEnd: touchDragging ? handleDragEnd : undefined,
|
|
655
676
|
// mouse events for desktop dragging
|
|
656
|
-
// move/up are
|
|
657
|
-
// that keeps the drag tracking even if the cursor leaves the track
|
|
658
|
-
// and avoids firing handleDragEnd twice on a release over the track
|
|
677
|
+
// move/up are bound on document in handleMouseDown so the drag keeps tracking outside the track
|
|
659
678
|
// @ts-ignore - mouse events
|
|
660
|
-
onMouseDown: touchDragging
|
|
661
|
-
? (event) => {
|
|
662
|
-
event.preventDefault();
|
|
663
|
-
handleDragStart(event.clientX);
|
|
664
|
-
}
|
|
665
|
-
: undefined, children: normalizedSlides.map((slide, index) => {
|
|
679
|
+
onMouseDown: touchDragging ? handleMouseDown : undefined, children: normalizedSlides.map((slide, index) => {
|
|
666
680
|
const isVisible = index >= currentIndex && index < currentIndex + computedSlidesToShow;
|
|
667
681
|
const hasClickHandler = !!slide.onClick;
|
|
668
682
|
const hasContent = !!slide.content;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabSelection.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Molecules/TabSelection/TabSelection.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAQ3B,OAAO,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,qDAAqD,CAAC;AAChG,OAAO,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAG7D,OAAO,EAAE,IAAI,EAAuC,MAAM,gBAAgB,CAAC;AAE3E,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAwBxD,eAAO,MAAM,YAAY,gBAAyB,iBAAiB;;
|
|
1
|
+
{"version":3,"file":"TabSelection.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Molecules/TabSelection/TabSelection.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAQ3B,OAAO,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,qDAAqD,CAAC;AAChG,OAAO,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAG7D,OAAO,EAAE,IAAI,EAAuC,MAAM,gBAAgB,CAAC;AAE3E,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAwBxD,eAAO,MAAM,YAAY,gBAAyB,iBAAiB;;CAiHjE,CAAC;AAMH,MAAM,MAAM,iBAAiB,GAAG;IAC/B,IAAI,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACjC,UAAU,CAAC,EAAE,eAAe,CAAC;CAC7B,GAAG,+BAA+B,GAClC,cAAc,CAAC,iBAAiB,CAAC,CAAC;AAEnC,MAAM,MAAM,+BAA+B,GAAG;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;CAC9E,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAChC,KAAK,CAAC,EAAE,IAAI,CAAC;QAAE,UAAU,EAAE,eAAe,CAAA;KAAE,CAAC,CAAC;IAC9C,OAAO,CAAC,EAAE,cAAc,CAAC;QAAE,UAAU,EAAE,eAAe,CAAA;KAAE,CAAC,CAAC;IAC1D,SAAS,CAAC,EAAE,IAAI,CAAC;QAAE,GAAG,EAAE,GAAG,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACtE"}
|
|
@@ -67,7 +67,7 @@ export const TabSelection = observer((properties) => {
|
|
|
67
67
|
},
|
|
68
68
|
tabList: {
|
|
69
69
|
attributes: {
|
|
70
|
-
'aria-label': '
|
|
70
|
+
'aria-label': 'Search result tabs',
|
|
71
71
|
},
|
|
72
72
|
},
|
|
73
73
|
};
|
|
@@ -80,6 +80,8 @@ export const TabSelection = observer((properties) => {
|
|
|
80
80
|
const disabled = !enableEmptyTabs && !active && resultCount === 0;
|
|
81
81
|
const label = tab.label || tab.id;
|
|
82
82
|
const displayedCount = showResultCount ? resultCount : undefined;
|
|
83
|
+
// whitespace is not permitted in an id and would split the aria-controls id reference list
|
|
84
|
+
const controllerId = tab.controller.id.replace(/\s+/g, '-');
|
|
83
85
|
const defaultTabLang = {
|
|
84
86
|
tabButton: {
|
|
85
87
|
value: label,
|
|
@@ -93,8 +95,8 @@ export const TabSelection = observer((properties) => {
|
|
|
93
95
|
return (_jsxs(Button, { ...subProps.button, internalClassName: classnames('ss__tab-selection__button', `ss__tab-selection__button--${tab.id}`, {
|
|
94
96
|
'ss__tab-selection__button--active': active,
|
|
95
97
|
}), disabled: disabled,
|
|
96
|
-
// @ts-ignore -
|
|
97
|
-
role: "tab", "aria-selected": active, ...tabLang.tabButton?.attributes, onClick: (e) => {
|
|
98
|
+
// @ts-ignore - valid props for Button, but not defined in ButtonProps
|
|
99
|
+
id: `ss__tab--${controllerId}`, role: "tab", "aria-selected": active, "aria-controls": `ss__tabpanel--${controllerId}`, ...tabLang.tabButton?.attributes, onClick: (e) => {
|
|
98
100
|
onTabClick && onTabClick(e, tab);
|
|
99
101
|
tabManager.setActive(tab.id);
|
|
100
102
|
}, children: [_jsx("span", { className: "ss__tab-selection__button__label", ...tabLang.tabButton?.value }), typeof displayedCount == 'number' ? _jsxs("span", { className: "ss__tab-selection__button__count", children: ["(", displayedCount, ")"] }) : null] }, tab.id));
|
package/dist/esm/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutocompleteLayout.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,sBAAsB,EAA4B,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AASvI,OAAO,EAAE,cAAc,EAAgB,4BAA4B,EAA6C,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACrJ,OAAO,EAAE,IAAI,EAAoB,MAAM,gBAAgB,CAAC;AAOxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qDAAqD,CAAC;AA6K3F,eAAO,MAAM,kBAAkB,gBAAyB,uBAAuB;;
|
|
1
|
+
{"version":3,"file":"AutocompleteLayout.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,sBAAsB,EAA4B,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AASvI,OAAO,EAAE,cAAc,EAAgB,4BAA4B,EAA6C,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACrJ,OAAO,EAAE,IAAI,EAAoB,MAAM,gBAAgB,CAAC;AAOxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qDAAqD,CAAC;AA6K3F,eAAO,MAAM,kBAAkB,gBAAyB,uBAAuB;;CA4mB7E,CAAC;AAeH,MAAM,MAAM,WAAW,GACpB,WAAW,GACX,eAAe,GACf,gBAAgB,GAChB,mBAAmB,GACnB,QAAQ,GACR,kBAAkB,GAClB,iBAAiB,GACjB,SAAS,GACT,YAAY,GACZ,cAAc,GACd,GAAG,GACH,aAAa,GACb,eAAe,GACf,eAAe,GACf,eAAe,CAAC;AACnB,KAAK,YAAY,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAC9C,KAAK,eAAe,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AACjE,KAAK,sBAAsB,GAAG,WAAW,GAAG,YAAY,GAAG,WAAW,EAAE,GAAG,YAAY,EAAE,CAAC;AAE1F,KAAK,MAAM,GAAG;IACb,MAAM,EAAE,WAAW,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;IACxC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,QAAQ,GAAG,YAAY,GAAG,UAAU,GAAG,eAAe,CAAC;CACtE,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACrC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC;IAC7C,UAAU,EAAE,sBAAsB,CAAC;IACnC,IAAI,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACvC,UAAU,CAAC,EAAE,eAAe,CAAC;CAC7B,GAAG,IAAI,CAAC,qCAAqC,EAAE,iBAAiB,CAAC,GACjE,cAAc,CAAC,uBAAuB,CAAC,CAAC;AAEzC,MAAM,MAAM,qCAAqC,GAAG;IACnD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,sBAAsB,EAAE,GAAG,eAAe,CAAC;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE;QACX,cAAc,CAAC,EAAE;YAChB,OAAO,EAAE,OAAO,CAAC;YACjB,SAAS,CAAC,EAAE,4BAA4B,CAAC;YACzC,eAAe,CAAC,EAAE,MAAM,CAAC;YACzB,MAAM,CAAC,EAAE,OAAO,CAAC,8BAA8B,CAAC,CAAC;SACjD,CAAC;KACF,CAAC;CACF,CAAC;AAEF,MAAM,WAAW,sBAAsB;IACtC,WAAW,EAAE,IAAI,CAAC;QACjB,UAAU,EAAE,sBAAsB,CAAC;KACnC,CAAC,CAAC;IACH,YAAY,EAAE,IAAI,CAAC;QAClB,UAAU,EAAE,sBAAsB,CAAC;KACnC,CAAC,CAAC;IACH,WAAW,EAAE,IAAI,CAAC;QACjB,UAAU,EAAE,sBAAsB,CAAC;KACnC,CAAC,CAAC;IACH,aAAa,EAAE,IAAI,CAAC;QACnB,UAAU,EAAE,sBAAsB,CAAC;KACnC,CAAC,CAAC;IACH,aAAa,EAAE,IAAI,CAAC;QACnB,UAAU,EAAE,sBAAsB,CAAC;KACnC,CAAC,CAAC;CACH"}
|
package/dist/esm/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.js
CHANGED
|
@@ -421,6 +421,7 @@ export const AutocompleteLayout = observer((properties) => {
|
|
|
421
421
|
// results logic
|
|
422
422
|
checkAndSetShowResults();
|
|
423
423
|
const styling = mergeStyles(props, defaultStyles);
|
|
424
|
+
const tabControllerId = tabManager?.active?.controller.id;
|
|
424
425
|
//initialize lang
|
|
425
426
|
const defaultLang = {
|
|
426
427
|
contentTitle: {
|
|
@@ -573,7 +574,13 @@ export const AutocompleteLayout = observer((properties) => {
|
|
|
573
574
|
}
|
|
574
575
|
const topRowCounter = { value: 0 };
|
|
575
576
|
/***************************************/
|
|
576
|
-
return visible && layout?.length ? (_jsx(CacheProvider, { children: _jsxs("div", { ...styling, className: classnames('ss__autocomplete', { 'ss__autocomplete--terms': props.layout === 'terms' }, { 'ss__autocomplete--mobile': props.layout === 'mobile' }, { 'ss__autocomplete--desktop': props.layout === 'desktop' }, { 'ss__autocomplete--tablet': props.layout === 'tablet' }, className, internalClassName), onClick: (e) => e.stopPropagation(), ref: (e) => useA11y(e, 0, false, onReset),
|
|
577
|
+
return visible && layout?.length ? (_jsx(CacheProvider, { children: _jsxs("div", { ...styling, className: classnames('ss__autocomplete', { 'ss__autocomplete--terms': props.layout === 'terms' }, { 'ss__autocomplete--mobile': props.layout === 'mobile' }, { 'ss__autocomplete--desktop': props.layout === 'desktop' }, { 'ss__autocomplete--tablet': props.layout === 'tablet' }, className, internalClassName), onClick: (e) => e.stopPropagation(), ref: (e) => useA11y(e, 0, false, onReset), ...(tabManager?.active
|
|
578
|
+
? {
|
|
579
|
+
id: `ss__tabpanel--${tabControllerId}`,
|
|
580
|
+
role: 'tabpanel',
|
|
581
|
+
'aria-labelledby': `ss__tab--${tabControllerId}`,
|
|
582
|
+
}
|
|
583
|
+
: {}), children: [_jsx("span", { role: 'link', ref: (e) => useA11y(e), onClick: () => props.onReset && props.onReset(), className: "ss__autocomplete__close-button", style: { position: 'absolute', top: '-10000000px', left: '-1000000px' }, ...mergedLang.closeButton?.all }), layout?.map((module) => {
|
|
577
584
|
return findModule(module, topRowCounter);
|
|
578
585
|
})] }) })) : null;
|
|
579
586
|
});
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { h } from 'preact';
|
|
2
|
+
import type { ChatController } from '@athoscommerce/snap-controller';
|
|
3
|
+
import { ComponentProps } from '../../../types';
|
|
4
|
+
import { ChatLang } from './Chat.lang';
|
|
5
|
+
export type ChatStylingProps = {
|
|
6
|
+
mobile: boolean;
|
|
7
|
+
hasSideChat: boolean;
|
|
8
|
+
footerHeight: number;
|
|
9
|
+
};
|
|
10
|
+
export declare const ChatOrganism: ((properties: ChatOrganismProps) => import("@emotion/react/jsx-runtime").JSX.Element | h.JSX.Element | null) & {
|
|
11
|
+
displayName: string;
|
|
12
|
+
};
|
|
13
|
+
export type ChatOrganismProps = {
|
|
14
|
+
controller: ChatController;
|
|
15
|
+
lang?: Partial<ChatLang>;
|
|
16
|
+
} & ChatTemplatesLegalProps & ComponentProps<ChatOrganismProps>;
|
|
17
|
+
export type ChatTemplatesLegalProps = {
|
|
18
|
+
logo?: string;
|
|
19
|
+
title?: string;
|
|
20
|
+
subtitle?: string;
|
|
21
|
+
avatar?: string;
|
|
22
|
+
offset?: string | number;
|
|
23
|
+
multiselectFacets?: boolean;
|
|
24
|
+
disableBubbleSuggestedQuestions?: boolean;
|
|
25
|
+
/** Overrides the built-in bubble launcher (and its suggested-question chips) visibility.
|
|
26
|
+
* `true` always hides it, `false` always shows it — including alongside an inline
|
|
27
|
+
* ChatButton. Left unset, the bubble hides itself whenever an external launcher registers. */
|
|
28
|
+
hideBubble?: boolean;
|
|
29
|
+
position?: 'left' | 'right';
|
|
30
|
+
primaryColorBg?: string;
|
|
31
|
+
primaryColorFg?: string;
|
|
32
|
+
primaryAccentColorBg?: string;
|
|
33
|
+
primaryAccentColorFg?: string;
|
|
34
|
+
secondaryAccentColorBg?: string;
|
|
35
|
+
secondaryAccentColorFg?: string;
|
|
36
|
+
hideMessageTypeIndicatorText?: boolean;
|
|
37
|
+
buttonBelowMessage?: boolean;
|
|
38
|
+
poweredByText?: string;
|
|
39
|
+
privacyPolicyUrl?: string;
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=Chat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Chat.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Organisms/Chat/Chat.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAQ3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAIrE,OAAO,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAa7D,OAAO,EAAE,QAAQ,EAA2C,MAAM,aAAa,CAAC;AA8BhF,MAAM,MAAM,gBAAgB,GAAG;IAC9B,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACrB,CAAC;AAqVF,eAAO,MAAM,YAAY,gBAAyB,iBAAiB;;CAycjE,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG;IAC/B,UAAU,EAAE,cAAc,CAAC;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;CACzB,GAAG,uBAAuB,GAC1B,cAAc,CAAC,iBAAiB,CAAC,CAAC;AAEnC,MAAM,MAAM,uBAAuB,GAAG;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C;;kGAE8F;IAC9F,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC"}
|