@athoscommerce/snap-preact 1.13.3-beta.191 → 1.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/src/components/Atoms/Dropdown/Dropdown.js +11 -56
- package/dist/cjs/components/src/components/Atoms/Icon/paths.js +0 -13
- package/dist/cjs/components/src/components/Molecules/Filter/Filter.js +1 -1
- package/dist/cjs/components/src/components/Molecules/Result/Result.js +4 -51
- package/dist/cjs/components/src/components/Molecules/SearchInput/SearchInput.js +2 -28
- package/dist/cjs/components/src/components/Molecules/Slideout/Slideout.js +28 -24
- package/dist/cjs/components/src/components/Molecules/Slideshow/Slideshow.js +20 -50
- package/dist/cjs/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.js +44 -21
- package/dist/cjs/components/src/components/Organisms/FacetsHorizontal/FacetsHorizontal.js +64 -6
- package/dist/cjs/components/src/components/Organisms/FilterSummary/FilterSummary.js +19 -8
- package/dist/cjs/components/src/components/Organisms/QuickviewLayout/QuickviewLayout.js +11 -44
- package/dist/cjs/components/src/components/Organisms/Results/Results.js +1 -1
- package/dist/cjs/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.js +12 -11
- package/dist/cjs/components/src/components/Templates/AutocompleteModal/AutocompleteModal.js +6 -8
- package/dist/cjs/components/src/components/Templates/AutocompleteSlideout/AutocompleteSlideout.js +6 -8
- package/dist/cjs/components/src/components/Templates/Search/Search.js +1 -1
- package/dist/cjs/components/src/index.js +1 -17
- package/dist/cjs/components/src/providers/themeComponents.js +0 -20
- package/dist/cjs/components/src/themes/base/components/templates/index.js +0 -10
- package/dist/cjs/components/src/themes/bocachica/components/templates/index.js +0 -10
- package/dist/cjs/components/src/themes/pike/components/templates/autocompleteFixed.js +1 -1
- package/dist/cjs/components/src/themes/pike/components/templates/autocompleteModal.js +1 -1
- package/dist/cjs/components/src/themes/pike/components/templates/autocompleteSlideout.js +3 -2
- package/dist/cjs/components/src/themes/pike/components/templates/index.js +0 -10
- package/dist/cjs/components/src/themes/snapnco/components/templates/index.js +0 -10
- package/dist/cjs/components/src/themes/snappy/components/templates/index.js +0 -10
- package/dist/cjs/components/src/utilities/Colour/Colour.js +0 -41
- package/dist/cjs/components/src/utilities/componentArgs.js +1 -1
- package/dist/cjs/components/src/utilities/index.js +0 -1
- package/dist/cjs/components/src/utilities/snapify.js +0 -27
- package/dist/cjs/src/Snap.js +6 -85
- package/dist/cjs/src/Templates/SnapTemplates.js +5 -55
- package/dist/cjs/src/Templates/Stores/LibraryStore.js +1 -51
- package/dist/cjs/src/Templates/Stores/TemplateStore.js +3 -3
- package/dist/cjs/src/Templates/Stores/library/languages/ar.js +6 -485
- package/dist/cjs/src/Templates/Stores/library/languages/de.js +6 -485
- package/dist/cjs/src/Templates/Stores/library/languages/es.js +6 -490
- package/dist/cjs/src/Templates/Stores/library/languages/fr.js +6 -490
- package/dist/cjs/src/Templates/Stores/library/languages/hi.js +6 -485
- package/dist/cjs/src/Templates/Stores/library/languages/it.js +6 -485
- package/dist/cjs/src/Templates/Stores/library/languages/ja.js +6 -485
- package/dist/cjs/src/Templates/Stores/library/languages/ko.js +6 -485
- package/dist/cjs/src/Templates/Stores/library/languages/nl.js +6 -485
- package/dist/cjs/src/Templates/Stores/library/languages/pt.js +6 -485
- package/dist/cjs/src/Templates/Stores/library/languages/ru.js +6 -485
- package/dist/cjs/src/Templates/Stores/library/languages/tr.js +6 -485
- package/dist/cjs/src/Templates/Stores/library/languages/vi.js +6 -485
- package/dist/cjs/src/Templates/Stores/library/languages/zh.js +6 -485
- package/dist/cjs/src/create/index.js +1 -3
- package/dist/cjs/src/setupEvents.js +0 -44
- package/dist/cjs/src/utils/index.js +1 -3
- package/dist/esm/components/src/components/Atoms/Button/Button.d.ts +1 -3
- package/dist/esm/components/src/components/Atoms/Button/Button.d.ts.map +1 -1
- package/dist/esm/components/src/components/Atoms/Dropdown/Dropdown.d.ts +1 -6
- package/dist/esm/components/src/components/Atoms/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/esm/components/src/components/Atoms/Dropdown/Dropdown.js +12 -57
- package/dist/esm/components/src/components/Atoms/Icon/paths.d.ts +0 -13
- package/dist/esm/components/src/components/Atoms/Icon/paths.d.ts.map +1 -1
- package/dist/esm/components/src/components/Atoms/Icon/paths.js +0 -13
- package/dist/esm/components/src/components/Molecules/Filter/Filter.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/Filter/Filter.js +1 -1
- 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 +3 -7
- package/dist/esm/components/src/components/Molecules/Result/Result.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/Result/Result.js +4 -51
- package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.d.ts +0 -3
- package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.js +2 -28
- package/dist/esm/components/src/components/Molecules/Slideout/Slideout.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/Slideout/Slideout.js +29 -25
- package/dist/esm/components/src/components/Molecules/Slideshow/Slideshow.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/Slideshow/Slideshow.js +20 -50
- package/dist/esm/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.d.ts +3 -1
- package/dist/esm/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.d.ts.map +1 -1
- package/dist/esm/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.js +43 -21
- package/dist/esm/components/src/components/Organisms/FacetsHorizontal/FacetsHorizontal.d.ts +1 -0
- package/dist/esm/components/src/components/Organisms/FacetsHorizontal/FacetsHorizontal.d.ts.map +1 -1
- package/dist/esm/components/src/components/Organisms/FacetsHorizontal/FacetsHorizontal.js +65 -7
- package/dist/esm/components/src/components/Organisms/FilterSummary/FilterSummary.d.ts +5 -0
- package/dist/esm/components/src/components/Organisms/FilterSummary/FilterSummary.d.ts.map +1 -1
- package/dist/esm/components/src/components/Organisms/FilterSummary/FilterSummary.js +19 -8
- package/dist/esm/components/src/components/Organisms/QuickviewLayout/QuickviewLayout.d.ts +1 -5
- package/dist/esm/components/src/components/Organisms/QuickviewLayout/QuickviewLayout.d.ts.map +1 -1
- package/dist/esm/components/src/components/Organisms/QuickviewLayout/QuickviewLayout.js +11 -44
- package/dist/esm/components/src/components/Organisms/Results/Results.js +1 -1
- package/dist/esm/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.d.ts +4 -0
- package/dist/esm/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.d.ts.map +1 -1
- package/dist/esm/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.js +13 -12
- package/dist/esm/components/src/components/Templates/AutocompleteModal/AutocompleteModal.d.ts +3 -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 +7 -9
- package/dist/esm/components/src/components/Templates/AutocompleteSlideout/AutocompleteSlideout.d.ts +3 -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 +7 -9
- package/dist/esm/components/src/components/Templates/Search/Search.js +2 -2
- package/dist/esm/components/src/hooks/index.d.ts +2 -1
- package/dist/esm/components/src/hooks/index.d.ts.map +1 -1
- package/dist/esm/components/src/index.d.ts +4 -16
- package/dist/esm/components/src/index.d.ts.map +1 -1
- package/dist/esm/components/src/index.js +1 -15
- package/dist/esm/components/src/providers/langComponents.d.ts +0 -20
- package/dist/esm/components/src/providers/langComponents.d.ts.map +1 -1
- package/dist/esm/components/src/providers/themeComponents.d.ts +1 -203
- package/dist/esm/components/src/providers/themeComponents.d.ts.map +1 -1
- package/dist/esm/components/src/providers/themeComponents.js +0 -20
- 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/index.d.ts.map +1 -1
- package/dist/esm/components/src/themes/base/components/templates/index.js +0 -10
- 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 +0 -10
- package/dist/esm/components/src/themes/pike/components/templates/autocompleteFixed.js +1 -1
- package/dist/esm/components/src/themes/pike/components/templates/autocompleteModal.js +1 -1
- package/dist/esm/components/src/themes/pike/components/templates/autocompleteSlideout.d.ts.map +1 -1
- package/dist/esm/components/src/themes/pike/components/templates/autocompleteSlideout.js +3 -2
- 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 +0 -10
- 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 +0 -10
- 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 +0 -10
- package/dist/esm/components/src/utilities/Colour/Colour.d.ts +0 -15
- package/dist/esm/components/src/utilities/Colour/Colour.d.ts.map +1 -1
- package/dist/esm/components/src/utilities/Colour/Colour.js +0 -41
- package/dist/esm/components/src/utilities/componentArgs.d.ts +1 -3
- package/dist/esm/components/src/utilities/componentArgs.d.ts.map +1 -1
- package/dist/esm/components/src/utilities/componentArgs.js +1 -1
- package/dist/esm/components/src/utilities/index.d.ts +0 -1
- package/dist/esm/components/src/utilities/index.d.ts.map +1 -1
- package/dist/esm/components/src/utilities/index.js +0 -1
- package/dist/esm/components/src/utilities/snapify.d.ts +2 -3
- package/dist/esm/components/src/utilities/snapify.d.ts.map +1 -1
- package/dist/esm/components/src/utilities/snapify.js +2 -29
- package/dist/esm/src/Snap.d.ts +1 -3
- package/dist/esm/src/Snap.d.ts.map +1 -1
- package/dist/esm/src/Snap.js +7 -86
- package/dist/esm/src/Templates/SnapTemplates.d.ts +1 -2
- package/dist/esm/src/Templates/SnapTemplates.d.ts.map +1 -1
- package/dist/esm/src/Templates/SnapTemplates.js +5 -54
- package/dist/esm/src/Templates/Stores/LibraryStore.d.ts +0 -43
- package/dist/esm/src/Templates/Stores/LibraryStore.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/LibraryStore.js +1 -51
- package/dist/esm/src/Templates/Stores/TemplateStore.d.ts +5 -19
- 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/languages/ar.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/ar.js +6 -485
- package/dist/esm/src/Templates/Stores/library/languages/de.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/de.js +6 -485
- package/dist/esm/src/Templates/Stores/library/languages/es.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/es.js +6 -490
- package/dist/esm/src/Templates/Stores/library/languages/fr.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/fr.js +6 -490
- package/dist/esm/src/Templates/Stores/library/languages/hi.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/hi.js +6 -485
- package/dist/esm/src/Templates/Stores/library/languages/it.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/it.js +6 -485
- package/dist/esm/src/Templates/Stores/library/languages/ja.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/ja.js +6 -485
- package/dist/esm/src/Templates/Stores/library/languages/ko.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/ko.js +6 -485
- package/dist/esm/src/Templates/Stores/library/languages/nl.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/nl.js +6 -485
- package/dist/esm/src/Templates/Stores/library/languages/pt.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/pt.js +6 -485
- package/dist/esm/src/Templates/Stores/library/languages/ru.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/ru.js +6 -485
- package/dist/esm/src/Templates/Stores/library/languages/tr.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/tr.js +6 -485
- package/dist/esm/src/Templates/Stores/library/languages/vi.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/vi.js +6 -485
- package/dist/esm/src/Templates/Stores/library/languages/zh.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/zh.js +6 -485
- package/dist/esm/src/create/index.d.ts +0 -1
- package/dist/esm/src/create/index.d.ts.map +1 -1
- package/dist/esm/src/create/index.js +0 -1
- package/dist/esm/src/setupEvents.d.ts +0 -13
- package/dist/esm/src/setupEvents.d.ts.map +1 -1
- package/dist/esm/src/setupEvents.js +0 -44
- package/dist/esm/src/types.d.ts +3 -13
- package/dist/esm/src/types.d.ts.map +1 -1
- package/dist/esm/src/utils/index.d.ts +0 -1
- package/dist/esm/src/utils/index.d.ts.map +1 -1
- package/dist/esm/src/utils/index.js +0 -1
- package/package.json +20 -29
- package/dist/cjs/components/src/components/Atoms/ChatLoadingIndicator/ChatLoadingIndicator.js +0 -99
- package/dist/cjs/components/src/components/Atoms/ChatLoadingIndicator/index.js +0 -17
- package/dist/cjs/components/src/components/Molecules/ChatAttachmentContext/ChatAttachmentContext.js +0 -221
- package/dist/cjs/components/src/components/Molecules/ChatAttachmentContext/index.js +0 -17
- package/dist/cjs/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.js +0 -211
- package/dist/cjs/components/src/components/Molecules/ChatInspirationResultMessage/index.js +0 -17
- package/dist/cjs/components/src/components/Molecules/ChatMessageText/ChatMessageText.js +0 -259
- package/dist/cjs/components/src/components/Molecules/ChatMessageText/index.js +0 -17
- package/dist/cjs/components/src/components/Molecules/ChatMessageUser/ChatMessageUser.js +0 -286
- package/dist/cjs/components/src/components/Molecules/ChatMessageUser/index.js +0 -17
- package/dist/cjs/components/src/components/Molecules/ChatProductComparisonMessage/ChatProductComparisonMessage.js +0 -174
- package/dist/cjs/components/src/components/Molecules/ChatProductComparisonMessage/index.js +0 -17
- package/dist/cjs/components/src/components/Molecules/ChatQuickview/ChatQuickview.js +0 -514
- package/dist/cjs/components/src/components/Molecules/ChatQuickview/index.js +0 -17
- package/dist/cjs/components/src/components/Molecules/ChatResult/ChatResult.js +0 -252
- package/dist/cjs/components/src/components/Molecules/ChatResult/index.js +0 -17
- package/dist/cjs/components/src/components/Molecules/ChatResultsDisplay/ChatResultsDisplay.js +0 -113
- package/dist/cjs/components/src/components/Molecules/ChatResultsDisplay/index.js +0 -17
- package/dist/cjs/components/src/components/Molecules/ChatSuggestedQuestions/ChatSuggestedQuestions.js +0 -107
- package/dist/cjs/components/src/components/Molecules/ChatSuggestedQuestions/index.js +0 -17
- package/dist/cjs/components/src/components/Organisms/Chat/Chat.js +0 -628
- package/dist/cjs/components/src/components/Organisms/Chat/Chat.lang.js +0 -110
- package/dist/cjs/components/src/components/Organisms/Chat/components/ChatAttachments.js +0 -105
- package/dist/cjs/components/src/components/Organisms/Chat/components/ChatComparisonsTray.js +0 -161
- package/dist/cjs/components/src/components/Organisms/Chat/components/ChatComposer.js +0 -166
- package/dist/cjs/components/src/components/Organisms/Chat/components/ChatFacetsBar.js +0 -369
- package/dist/cjs/components/src/components/Organisms/Chat/components/ChatHistory.js +0 -130
- package/dist/cjs/components/src/components/Organisms/Chat/components/ChatMessages.js +0 -218
- package/dist/cjs/components/src/components/Organisms/Chat/components/ChatSessionFeedback.js +0 -123
- package/dist/cjs/components/src/components/Organisms/Chat/components/ChatSideChat.js +0 -173
- package/dist/cjs/components/src/components/Organisms/Chat/components/ChatTopicDrift.js +0 -149
- package/dist/cjs/components/src/components/Organisms/Chat/components/chatAccentTheme.js +0 -62
- package/dist/cjs/components/src/components/Organisms/Chat/hooks/useChatFileUpload.js +0 -66
- package/dist/cjs/components/src/components/Organisms/Chat/hooks/useChatGestures.js +0 -96
- package/dist/cjs/components/src/components/Organisms/Chat/hooks/useChatOverflow.js +0 -113
- package/dist/cjs/components/src/components/Organisms/Chat/hooks/useChatScrollLock.js +0 -135
- package/dist/cjs/components/src/components/Organisms/Chat/index.js +0 -18
- package/dist/cjs/components/src/components/Organisms/ChatButton/ChatButton.js +0 -94
- package/dist/cjs/components/src/components/Organisms/ChatButton/ChatButton.lang.js +0 -11
- package/dist/cjs/components/src/components/Organisms/ChatButton/index.js +0 -18
- package/dist/cjs/components/src/components/Templates/Chat/Chat.js +0 -47
- package/dist/cjs/components/src/components/Templates/Chat/index.js +0 -17
- package/dist/cjs/components/src/components/Templates/ChatButton/ChatButton.js +0 -47
- package/dist/cjs/components/src/components/Templates/ChatButton/index.js +0 -17
- package/dist/cjs/components/src/themes/base/components/templates/chat.js +0 -6
- package/dist/cjs/components/src/themes/base/components/templates/chatButton.js +0 -6
- package/dist/cjs/components/src/themes/bocachica/components/templates/chat.js +0 -6
- package/dist/cjs/components/src/themes/bocachica/components/templates/chatButton.js +0 -6
- package/dist/cjs/components/src/themes/pike/components/templates/chat.js +0 -6
- package/dist/cjs/components/src/themes/pike/components/templates/chatButton.js +0 -6
- package/dist/cjs/components/src/themes/snapnco/components/templates/chat.js +0 -6
- package/dist/cjs/components/src/themes/snapnco/components/templates/chatButton.js +0 -6
- package/dist/cjs/components/src/themes/snappy/components/templates/chat.js +0 -6
- package/dist/cjs/components/src/themes/snappy/components/templates/chatButton.js +0 -6
- package/dist/cjs/components/src/themes/themeComponents/chat.js +0 -14
- package/dist/cjs/components/src/themes/themeComponents/chatButton.js +0 -9
- package/dist/cjs/components/src/utilities/storybook.js +0 -17
- package/dist/cjs/src/Templates/Stores/library/components/Chat.js +0 -5
- package/dist/cjs/src/Templates/Stores/library/components/ChatButton.js +0 -5
- package/dist/cjs/src/create/createChatController.js +0 -31
- package/dist/cjs/src/utils/applyChatTargetInject.js +0 -25
- package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/ChatLoadingIndicator.d.ts +0 -17
- package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/ChatLoadingIndicator.d.ts.map +0 -1
- package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/ChatLoadingIndicator.js +0 -92
- package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/index.d.ts +0 -2
- package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/index.d.ts.map +0 -1
- package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/index.js +0 -1
- package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/ChatAttachmentContext.d.ts +0 -37
- package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/ChatAttachmentContext.d.ts.map +0 -1
- package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/ChatAttachmentContext.js +0 -215
- package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/index.d.ts +0 -2
- package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/index.d.ts.map +0 -1
- package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/index.js +0 -1
- package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.d.ts +0 -30
- package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.d.ts.map +0 -1
- package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.js +0 -205
- package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/index.d.ts +0 -2
- package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/index.d.ts.map +0 -1
- package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/index.js +0 -1
- package/dist/esm/components/src/components/Molecules/ChatMessageText/ChatMessageText.d.ts +0 -36
- package/dist/esm/components/src/components/Molecules/ChatMessageText/ChatMessageText.d.ts.map +0 -1
- package/dist/esm/components/src/components/Molecules/ChatMessageText/ChatMessageText.js +0 -253
- package/dist/esm/components/src/components/Molecules/ChatMessageText/index.d.ts +0 -2
- package/dist/esm/components/src/components/Molecules/ChatMessageText/index.d.ts.map +0 -1
- package/dist/esm/components/src/components/Molecules/ChatMessageText/index.js +0 -1
- package/dist/esm/components/src/components/Molecules/ChatMessageUser/ChatMessageUser.d.ts +0 -52
- package/dist/esm/components/src/components/Molecules/ChatMessageUser/ChatMessageUser.d.ts.map +0 -1
- package/dist/esm/components/src/components/Molecules/ChatMessageUser/ChatMessageUser.js +0 -280
- package/dist/esm/components/src/components/Molecules/ChatMessageUser/index.d.ts +0 -2
- package/dist/esm/components/src/components/Molecules/ChatMessageUser/index.d.ts.map +0 -1
- package/dist/esm/components/src/components/Molecules/ChatMessageUser/index.js +0 -1
- package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/ChatProductComparisonMessage.d.ts +0 -25
- package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/ChatProductComparisonMessage.d.ts.map +0 -1
- package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/ChatProductComparisonMessage.js +0 -168
- package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/index.d.ts +0 -2
- package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/index.d.ts.map +0 -1
- package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/index.js +0 -1
- package/dist/esm/components/src/components/Molecules/ChatQuickview/ChatQuickview.d.ts +0 -30
- package/dist/esm/components/src/components/Molecules/ChatQuickview/ChatQuickview.d.ts.map +0 -1
- package/dist/esm/components/src/components/Molecules/ChatQuickview/ChatQuickview.js +0 -508
- package/dist/esm/components/src/components/Molecules/ChatQuickview/index.d.ts +0 -2
- package/dist/esm/components/src/components/Molecules/ChatQuickview/index.d.ts.map +0 -1
- package/dist/esm/components/src/components/Molecules/ChatQuickview/index.js +0 -1
- package/dist/esm/components/src/components/Molecules/ChatResult/ChatResult.d.ts +0 -35
- package/dist/esm/components/src/components/Molecules/ChatResult/ChatResult.d.ts.map +0 -1
- package/dist/esm/components/src/components/Molecules/ChatResult/ChatResult.js +0 -246
- package/dist/esm/components/src/components/Molecules/ChatResult/index.d.ts +0 -2
- package/dist/esm/components/src/components/Molecules/ChatResult/index.d.ts.map +0 -1
- package/dist/esm/components/src/components/Molecules/ChatResult/index.js +0 -1
- package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/ChatResultsDisplay.d.ts +0 -24
- package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/ChatResultsDisplay.d.ts.map +0 -1
- package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/ChatResultsDisplay.js +0 -107
- package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/index.d.ts +0 -2
- package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/index.d.ts.map +0 -1
- package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/index.js +0 -1
- package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/ChatSuggestedQuestions.d.ts +0 -16
- package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/ChatSuggestedQuestions.d.ts.map +0 -1
- package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/ChatSuggestedQuestions.js +0 -101
- package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/index.d.ts +0 -2
- package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/index.d.ts.map +0 -1
- package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/index.js +0 -1
- package/dist/esm/components/src/components/Organisms/Chat/Chat.d.ts +0 -41
- package/dist/esm/components/src/components/Organisms/Chat/Chat.d.ts.map +0 -1
- package/dist/esm/components/src/components/Organisms/Chat/Chat.js +0 -622
- package/dist/esm/components/src/components/Organisms/Chat/Chat.lang.d.ts +0 -79
- package/dist/esm/components/src/components/Organisms/Chat/Chat.lang.d.ts.map +0 -1
- package/dist/esm/components/src/components/Organisms/Chat/Chat.lang.js +0 -105
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatAttachments.d.ts +0 -26
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatAttachments.d.ts.map +0 -1
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatAttachments.js +0 -99
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatComparisonsTray.d.ts +0 -13
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatComparisonsTray.d.ts.map +0 -1
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatComparisonsTray.js +0 -155
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatComposer.d.ts +0 -19
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatComposer.d.ts.map +0 -1
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatComposer.js +0 -160
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatFacetsBar.d.ts +0 -18
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatFacetsBar.d.ts.map +0 -1
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatFacetsBar.js +0 -363
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatHistory.d.ts +0 -11
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatHistory.d.ts.map +0 -1
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatHistory.js +0 -124
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatMessages.d.ts +0 -30
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatMessages.d.ts.map +0 -1
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatMessages.js +0 -212
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatSessionFeedback.d.ts +0 -13
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatSessionFeedback.d.ts.map +0 -1
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatSessionFeedback.js +0 -117
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatSideChat.d.ts +0 -19
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatSideChat.d.ts.map +0 -1
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatSideChat.js +0 -167
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatTopicDrift.d.ts +0 -14
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatTopicDrift.d.ts.map +0 -1
- package/dist/esm/components/src/components/Organisms/Chat/components/ChatTopicDrift.js +0 -143
- package/dist/esm/components/src/components/Organisms/Chat/components/chatAccentTheme.d.ts +0 -15
- package/dist/esm/components/src/components/Organisms/Chat/components/chatAccentTheme.d.ts.map +0 -1
- package/dist/esm/components/src/components/Organisms/Chat/components/chatAccentTheme.js +0 -58
- package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatFileUpload.d.ts +0 -32
- package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatFileUpload.d.ts.map +0 -1
- package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatFileUpload.js +0 -62
- package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatGestures.d.ts +0 -40
- package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatGestures.d.ts.map +0 -1
- package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatGestures.js +0 -92
- package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatOverflow.d.ts +0 -43
- package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatOverflow.d.ts.map +0 -1
- package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatOverflow.js +0 -109
- package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatScrollLock.d.ts +0 -26
- package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatScrollLock.d.ts.map +0 -1
- package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatScrollLock.js +0 -131
- package/dist/esm/components/src/components/Organisms/Chat/index.d.ts +0 -3
- package/dist/esm/components/src/components/Organisms/Chat/index.d.ts.map +0 -1
- package/dist/esm/components/src/components/Organisms/Chat/index.js +0 -2
- package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.d.ts +0 -18
- package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.d.ts.map +0 -1
- package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.js +0 -88
- package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.lang.d.ts +0 -7
- package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.lang.d.ts.map +0 -1
- package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.lang.js +0 -8
- package/dist/esm/components/src/components/Organisms/ChatButton/index.d.ts +0 -3
- package/dist/esm/components/src/components/Organisms/ChatButton/index.d.ts.map +0 -1
- package/dist/esm/components/src/components/Organisms/ChatButton/index.js +0 -2
- package/dist/esm/components/src/components/Templates/Chat/Chat.d.ts +0 -12
- package/dist/esm/components/src/components/Templates/Chat/Chat.d.ts.map +0 -1
- package/dist/esm/components/src/components/Templates/Chat/Chat.js +0 -41
- package/dist/esm/components/src/components/Templates/Chat/index.d.ts +0 -2
- package/dist/esm/components/src/components/Templates/Chat/index.d.ts.map +0 -1
- package/dist/esm/components/src/components/Templates/Chat/index.js +0 -1
- package/dist/esm/components/src/components/Templates/ChatButton/ChatButton.d.ts +0 -13
- package/dist/esm/components/src/components/Templates/ChatButton/ChatButton.d.ts.map +0 -1
- package/dist/esm/components/src/components/Templates/ChatButton/ChatButton.js +0 -41
- package/dist/esm/components/src/components/Templates/ChatButton/index.d.ts +0 -2
- package/dist/esm/components/src/components/Templates/ChatButton/index.d.ts.map +0 -1
- package/dist/esm/components/src/components/Templates/ChatButton/index.js +0 -1
- package/dist/esm/components/src/themes/base/components/templates/chat.d.ts +0 -4
- package/dist/esm/components/src/themes/base/components/templates/chat.d.ts.map +0 -1
- package/dist/esm/components/src/themes/base/components/templates/chat.js +0 -3
- package/dist/esm/components/src/themes/base/components/templates/chatButton.d.ts +0 -4
- package/dist/esm/components/src/themes/base/components/templates/chatButton.d.ts.map +0 -1
- package/dist/esm/components/src/themes/base/components/templates/chatButton.js +0 -3
- package/dist/esm/components/src/themes/bocachica/components/templates/chat.d.ts +0 -4
- package/dist/esm/components/src/themes/bocachica/components/templates/chat.d.ts.map +0 -1
- package/dist/esm/components/src/themes/bocachica/components/templates/chat.js +0 -3
- package/dist/esm/components/src/themes/bocachica/components/templates/chatButton.d.ts +0 -4
- package/dist/esm/components/src/themes/bocachica/components/templates/chatButton.d.ts.map +0 -1
- package/dist/esm/components/src/themes/bocachica/components/templates/chatButton.js +0 -3
- package/dist/esm/components/src/themes/pike/components/templates/chat.d.ts +0 -4
- package/dist/esm/components/src/themes/pike/components/templates/chat.d.ts.map +0 -1
- package/dist/esm/components/src/themes/pike/components/templates/chat.js +0 -3
- package/dist/esm/components/src/themes/pike/components/templates/chatButton.d.ts +0 -4
- package/dist/esm/components/src/themes/pike/components/templates/chatButton.d.ts.map +0 -1
- package/dist/esm/components/src/themes/pike/components/templates/chatButton.js +0 -3
- package/dist/esm/components/src/themes/snapnco/components/templates/chat.d.ts +0 -4
- package/dist/esm/components/src/themes/snapnco/components/templates/chat.d.ts.map +0 -1
- package/dist/esm/components/src/themes/snapnco/components/templates/chat.js +0 -3
- package/dist/esm/components/src/themes/snapnco/components/templates/chatButton.d.ts +0 -4
- package/dist/esm/components/src/themes/snapnco/components/templates/chatButton.d.ts.map +0 -1
- package/dist/esm/components/src/themes/snapnco/components/templates/chatButton.js +0 -3
- package/dist/esm/components/src/themes/snappy/components/templates/chat.d.ts +0 -4
- package/dist/esm/components/src/themes/snappy/components/templates/chat.d.ts.map +0 -1
- package/dist/esm/components/src/themes/snappy/components/templates/chat.js +0 -3
- package/dist/esm/components/src/themes/snappy/components/templates/chatButton.d.ts +0 -4
- package/dist/esm/components/src/themes/snappy/components/templates/chatButton.d.ts.map +0 -1
- package/dist/esm/components/src/themes/snappy/components/templates/chatButton.js +0 -3
- package/dist/esm/components/src/themes/themeComponents/chat.d.ts +0 -4
- package/dist/esm/components/src/themes/themeComponents/chat.d.ts.map +0 -1
- package/dist/esm/components/src/themes/themeComponents/chat.js +0 -11
- package/dist/esm/components/src/themes/themeComponents/chatButton.d.ts +0 -4
- package/dist/esm/components/src/themes/themeComponents/chatButton.d.ts.map +0 -1
- package/dist/esm/components/src/themes/themeComponents/chatButton.js +0 -6
- package/dist/esm/components/src/utilities/storybook.d.ts +0 -5
- package/dist/esm/components/src/utilities/storybook.d.ts.map +0 -1
- package/dist/esm/components/src/utilities/storybook.js +0 -13
- package/dist/esm/src/Templates/Stores/library/components/Chat.d.ts +0 -2
- package/dist/esm/src/Templates/Stores/library/components/Chat.d.ts.map +0 -1
- package/dist/esm/src/Templates/Stores/library/components/Chat.js +0 -1
- package/dist/esm/src/Templates/Stores/library/components/ChatButton.d.ts +0 -2
- package/dist/esm/src/Templates/Stores/library/components/ChatButton.d.ts.map +0 -1
- package/dist/esm/src/Templates/Stores/library/components/ChatButton.js +0 -1
- package/dist/esm/src/create/createChatController.d.ts +0 -5
- package/dist/esm/src/create/createChatController.d.ts.map +0 -1
- package/dist/esm/src/create/createChatController.js +0 -29
- package/dist/esm/src/utils/applyChatTargetInject.d.ts +0 -3
- package/dist/esm/src/utils/applyChatTargetInject.d.ts.map +0 -1
- package/dist/esm/src/utils/applyChatTargetInject.js +0 -22
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import type { RefObject } from 'preact';
|
|
2
|
-
export type UseChatOverflowOptions = {
|
|
3
|
-
messagesContainerRef: RefObject<HTMLDivElement>;
|
|
4
|
-
headerRef: RefObject<HTMLDivElement>;
|
|
5
|
-
/**
|
|
6
|
-
* Whether the chat panel is open. State resets on toggle.
|
|
7
|
-
*/
|
|
8
|
-
open: boolean;
|
|
9
|
-
/**
|
|
10
|
-
* Whether the controller is currently loading. Triggers a scroll-to-bottom when it flips on.
|
|
11
|
-
*/
|
|
12
|
-
loading: boolean;
|
|
13
|
-
/**
|
|
14
|
-
* Length of the visible chat. Drives the new-message popup + auto-scroll behavior.
|
|
15
|
-
*/
|
|
16
|
-
visibleChatLength: number;
|
|
17
|
-
/**
|
|
18
|
-
* The last visible message — needed to differentiate auto-scroll for user vs assistant messages.
|
|
19
|
-
*/
|
|
20
|
-
lastVisibleMessage: {
|
|
21
|
-
messageType?: string;
|
|
22
|
-
} | undefined;
|
|
23
|
-
};
|
|
24
|
-
export type UseChatOverflowResult = {
|
|
25
|
-
/** True when there are messages off-screen below the current scroll position. */
|
|
26
|
-
showNewMessages: boolean;
|
|
27
|
-
/** Imperative dismiss for the "New messages" popup. */
|
|
28
|
-
setShowNewMessages: (value: boolean) => void;
|
|
29
|
-
/** True when the messages container is overflowing (used to switch comparison tray between in-flow and overlay). */
|
|
30
|
-
messagesOverflow: boolean;
|
|
31
|
-
/** Live ref tracking whether the user is currently near the bottom. */
|
|
32
|
-
/** Imperatively scroll the messages container to the bottom (smooth). */
|
|
33
|
-
scrollToBottom: () => void;
|
|
34
|
-
/** Conditional scroll: only scrolls if the user is already near the bottom. */
|
|
35
|
-
scrollToBottomIfNear: () => void;
|
|
36
|
-
};
|
|
37
|
-
/**
|
|
38
|
-
* Manages the auto-scroll, "new message" indicator, and overflow detection for the
|
|
39
|
-
* chat message list. Owns all scroll listeners and ResizeObservers so the host
|
|
40
|
-
* component just consumes the derived state.
|
|
41
|
-
*/
|
|
42
|
-
export declare const useChatOverflow: ({ messagesContainerRef, headerRef, open, loading, visibleChatLength, lastVisibleMessage, }: UseChatOverflowOptions) => UseChatOverflowResult;
|
|
43
|
-
//# sourceMappingURL=useChatOverflow.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useChatOverflow.d.ts","sourceRoot":"","sources":["../../../../../../../../components/src/components/Organisms/Chat/hooks/useChatOverflow.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC,MAAM,MAAM,sBAAsB,GAAG;IACpC,oBAAoB,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IAChD,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IACrC;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IACd;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,kBAAkB,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;CACzD,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IACnC,iFAAiF;IACjF,eAAe,EAAE,OAAO,CAAC;IACzB,uDAAuD;IACvD,kBAAkB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,oHAAoH;IACpH,gBAAgB,EAAE,OAAO,CAAC;IAC1B,uEAAuE;IACvE,yEAAyE;IACzE,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,+EAA+E;IAC/E,oBAAoB,EAAE,MAAM,IAAI,CAAC;CACjC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,+FAOzB,sBAAsB,KAAG,qBAwG3B,CAAC"}
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import { useEffect, useRef, useState } from 'preact/hooks';
|
|
2
|
-
/**
|
|
3
|
-
* Manages the auto-scroll, "new message" indicator, and overflow detection for the
|
|
4
|
-
* chat message list. Owns all scroll listeners and ResizeObservers so the host
|
|
5
|
-
* component just consumes the derived state.
|
|
6
|
-
*/
|
|
7
|
-
export const useChatOverflow = ({ messagesContainerRef, headerRef, open, loading, visibleChatLength, lastVisibleMessage, }) => {
|
|
8
|
-
const [showNewMessages, setShowNewMessages] = useState(false);
|
|
9
|
-
const [messagesOverflow, setMessagesOverflow] = useState(false);
|
|
10
|
-
const isNearBottomRef = useRef(true);
|
|
11
|
-
const scrollToBottom = () => {
|
|
12
|
-
// Scroll the messages container directly (instead of scrollIntoView on the
|
|
13
|
-
// bottom anchor) so the browser never walks up the ancestor chain. On small
|
|
14
|
-
// viewports a smooth scrollIntoView could otherwise animate the document /
|
|
15
|
-
// visual viewport and visually push the fixed-position chat off-screen.
|
|
16
|
-
const container = messagesContainerRef.current;
|
|
17
|
-
if (container) {
|
|
18
|
-
container.scrollTo({ top: container.scrollHeight, behavior: 'smooth' });
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
// Conditional scroll: only scrolls if the user is already near the bottom.
|
|
22
|
-
const scrollToBottomIfNear = () => {
|
|
23
|
-
if (isNearBottomRef.current) {
|
|
24
|
-
scrollToBottom();
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
// Scroll to bottom when chat opens
|
|
28
|
-
useEffect(() => {
|
|
29
|
-
if (open) {
|
|
30
|
-
scrollToBottom();
|
|
31
|
-
setShowNewMessages(false);
|
|
32
|
-
isNearBottomRef.current = true;
|
|
33
|
-
}
|
|
34
|
-
}, [open]);
|
|
35
|
-
// Handle new messages — auto-scroll for user messages, show popup for response messages when scrolled up
|
|
36
|
-
useEffect(() => {
|
|
37
|
-
if (!open || !lastVisibleMessage)
|
|
38
|
-
return;
|
|
39
|
-
if (lastVisibleMessage.messageType === 'user') {
|
|
40
|
-
scrollToBottom();
|
|
41
|
-
setShowNewMessages(false);
|
|
42
|
-
}
|
|
43
|
-
else if (isNearBottomRef.current) {
|
|
44
|
-
scrollToBottom();
|
|
45
|
-
setShowNewMessages(false);
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
setShowNewMessages(true);
|
|
49
|
-
}
|
|
50
|
-
}, [visibleChatLength]);
|
|
51
|
-
// Scroll to show loading indicator when user sends a message
|
|
52
|
-
useEffect(() => {
|
|
53
|
-
if (open && loading) {
|
|
54
|
-
scrollToBottom();
|
|
55
|
-
}
|
|
56
|
-
}, [loading]);
|
|
57
|
-
// Track scroll position to dismiss the "New messages" popup when user scrolls to bottom
|
|
58
|
-
useEffect(() => {
|
|
59
|
-
const container = messagesContainerRef.current;
|
|
60
|
-
if (!container)
|
|
61
|
-
return;
|
|
62
|
-
const handleScroll = () => {
|
|
63
|
-
const threshold = 100;
|
|
64
|
-
const isNearBottom = container.scrollHeight - container.scrollTop - container.clientHeight < threshold;
|
|
65
|
-
isNearBottomRef.current = isNearBottom;
|
|
66
|
-
if (isNearBottom) {
|
|
67
|
-
setShowNewMessages(false);
|
|
68
|
-
}
|
|
69
|
-
};
|
|
70
|
-
container.addEventListener('scroll', handleScroll);
|
|
71
|
-
return () => container.removeEventListener('scroll', handleScroll);
|
|
72
|
-
}, [open]);
|
|
73
|
-
// Track whether the messages container is overflowing so the comparisons header
|
|
74
|
-
// can switch between in-flow (short conversations — top content stays reachable)
|
|
75
|
-
// and overlay (overflowing — avoid layout shift when toggling the tray).
|
|
76
|
-
// Hysteresis: when already in overlay, only return to in-flow if the content
|
|
77
|
-
// would still fit *with* the header re-inserted — otherwise the two states
|
|
78
|
-
// fight each other and the layout flickers.
|
|
79
|
-
useEffect(() => {
|
|
80
|
-
const container = messagesContainerRef.current;
|
|
81
|
-
if (!container || typeof ResizeObserver === 'undefined')
|
|
82
|
-
return;
|
|
83
|
-
const update = () => {
|
|
84
|
-
setMessagesOverflow((prev) => {
|
|
85
|
-
const headerHeight = headerRef.current?.offsetHeight || 0;
|
|
86
|
-
if (prev) {
|
|
87
|
-
// Currently overlay: header isn't taking flow space. Only switch
|
|
88
|
-
// back to in-flow if the content would fit with the header added.
|
|
89
|
-
return container.scrollHeight > container.clientHeight - headerHeight + 1;
|
|
90
|
-
}
|
|
91
|
-
// Currently in-flow: header already takes space — straightforward check.
|
|
92
|
-
return container.scrollHeight > container.clientHeight + 1;
|
|
93
|
-
});
|
|
94
|
-
};
|
|
95
|
-
update();
|
|
96
|
-
const observer = new ResizeObserver(update);
|
|
97
|
-
observer.observe(container);
|
|
98
|
-
if (headerRef.current)
|
|
99
|
-
observer.observe(headerRef.current);
|
|
100
|
-
return () => observer.disconnect();
|
|
101
|
-
}, [open, visibleChatLength]);
|
|
102
|
-
return {
|
|
103
|
-
showNewMessages,
|
|
104
|
-
setShowNewMessages,
|
|
105
|
-
messagesOverflow,
|
|
106
|
-
scrollToBottom,
|
|
107
|
-
scrollToBottomIfNear,
|
|
108
|
-
};
|
|
109
|
-
};
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import type { RefObject } from 'preact';
|
|
2
|
-
export type UseChatScrollLockOptions = {
|
|
3
|
-
/** Whether the chat panel is open — the lock is only active while open. */
|
|
4
|
-
open: boolean;
|
|
5
|
-
/** Ref to the chat root element — touches outside it are always blocked. */
|
|
6
|
-
chatRef: RefObject<HTMLDivElement>;
|
|
7
|
-
};
|
|
8
|
-
/**
|
|
9
|
-
* Prevents the background page from scrolling while the chat is open.
|
|
10
|
-
*
|
|
11
|
-
* Locks body overflow for wheel/keyboard scrolling, and installs a `touchmove`
|
|
12
|
-
* handler for touch devices. iOS Safari (real iPad/iPhone) rubber-band-scrolls
|
|
13
|
-
* the body when a touchmove inside `.ss__chat__messages` reaches the top/bottom —
|
|
14
|
-
* and `overscroll-behavior: contain` is ignored there.
|
|
15
|
-
*
|
|
16
|
-
* We don't reposition the body (locking via `position: fixed` on `<body>` leaves
|
|
17
|
-
* iPad Safari in a stuck viewport state where the page can't scroll after the
|
|
18
|
-
* lock is released). Instead the `touchmove` handler:
|
|
19
|
-
* - allows the touchmove if it's inside a scrollable region of the chat
|
|
20
|
-
* and that region isn't at its scroll edge in the swipe direction;
|
|
21
|
-
* - calls `preventDefault()` otherwise — which is what blocks both
|
|
22
|
-
* background scrolling and iOS rubber-band overscroll.
|
|
23
|
-
* Cleanup just removes the listeners, so nothing can leak into the page.
|
|
24
|
-
*/
|
|
25
|
-
export declare const useChatScrollLock: ({ open, chatRef }: UseChatScrollLockOptions) => void;
|
|
26
|
-
//# sourceMappingURL=useChatScrollLock.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useChatScrollLock.d.ts","sourceRoot":"","sources":["../../../../../../../../components/src/components/Organisms/Chat/hooks/useChatScrollLock.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC,MAAM,MAAM,wBAAwB,GAAG;IACtC,2EAA2E;IAC3E,IAAI,EAAE,OAAO,CAAC;IACd,4EAA4E;IAC5E,OAAO,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;CACnC,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,iBAAiB,sBAAuB,wBAAwB,KAAG,IAyG/E,CAAC"}
|
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
import { useEffect } from 'preact/hooks';
|
|
2
|
-
/**
|
|
3
|
-
* Prevents the background page from scrolling while the chat is open.
|
|
4
|
-
*
|
|
5
|
-
* Locks body overflow for wheel/keyboard scrolling, and installs a `touchmove`
|
|
6
|
-
* handler for touch devices. iOS Safari (real iPad/iPhone) rubber-band-scrolls
|
|
7
|
-
* the body when a touchmove inside `.ss__chat__messages` reaches the top/bottom —
|
|
8
|
-
* and `overscroll-behavior: contain` is ignored there.
|
|
9
|
-
*
|
|
10
|
-
* We don't reposition the body (locking via `position: fixed` on `<body>` leaves
|
|
11
|
-
* iPad Safari in a stuck viewport state where the page can't scroll after the
|
|
12
|
-
* lock is released). Instead the `touchmove` handler:
|
|
13
|
-
* - allows the touchmove if it's inside a scrollable region of the chat
|
|
14
|
-
* and that region isn't at its scroll edge in the swipe direction;
|
|
15
|
-
* - calls `preventDefault()` otherwise — which is what blocks both
|
|
16
|
-
* background scrolling and iOS rubber-band overscroll.
|
|
17
|
-
* Cleanup just removes the listeners, so nothing can leak into the page.
|
|
18
|
-
*/
|
|
19
|
-
export const useChatScrollLock = ({ open, chatRef }) => {
|
|
20
|
-
// Lock body scroll while chat is open so touch/wheel scrolls don't leak to the page behind
|
|
21
|
-
useEffect(() => {
|
|
22
|
-
if (!open)
|
|
23
|
-
return;
|
|
24
|
-
const body = document.body;
|
|
25
|
-
const previousOverflow = body.style.overflow;
|
|
26
|
-
const previousOverscroll = body.style.overscrollBehavior;
|
|
27
|
-
body.style.overflow = 'hidden';
|
|
28
|
-
body.style.overscrollBehavior = 'contain';
|
|
29
|
-
return () => {
|
|
30
|
-
body.style.overflow = previousOverflow;
|
|
31
|
-
body.style.overscrollBehavior = previousOverscroll;
|
|
32
|
-
};
|
|
33
|
-
}, [open]);
|
|
34
|
-
useEffect(() => {
|
|
35
|
-
if (!open)
|
|
36
|
-
return;
|
|
37
|
-
if (typeof document === 'undefined')
|
|
38
|
-
return;
|
|
39
|
-
let startX = 0;
|
|
40
|
-
let startY = 0;
|
|
41
|
-
let scrollEl = null;
|
|
42
|
-
// Walk up from the touch target to find the first ancestor inside the chat
|
|
43
|
-
// that is actually scrollable in either axis. Stop at the chat root so we
|
|
44
|
-
// never consider elements outside the chat.
|
|
45
|
-
const findScrollableInChat = (start) => {
|
|
46
|
-
const chatRoot = chatRef.current;
|
|
47
|
-
if (!chatRoot)
|
|
48
|
-
return null;
|
|
49
|
-
let el = start;
|
|
50
|
-
while (el && chatRoot.contains(el)) {
|
|
51
|
-
const style = getComputedStyle(el);
|
|
52
|
-
const scrollableY = (style.overflowY === 'auto' || style.overflowY === 'scroll') && el.scrollHeight > el.clientHeight;
|
|
53
|
-
const scrollableX = (style.overflowX === 'auto' || style.overflowX === 'scroll') && el.scrollWidth > el.clientWidth;
|
|
54
|
-
if (scrollableY || scrollableX) {
|
|
55
|
-
return el;
|
|
56
|
-
}
|
|
57
|
-
if (el === chatRoot)
|
|
58
|
-
break;
|
|
59
|
-
el = el.parentElement;
|
|
60
|
-
}
|
|
61
|
-
return null;
|
|
62
|
-
};
|
|
63
|
-
const onTouchStart = (e) => {
|
|
64
|
-
if (!e.touches[0])
|
|
65
|
-
return;
|
|
66
|
-
startX = e.touches[0].clientX;
|
|
67
|
-
startY = e.touches[0].clientY;
|
|
68
|
-
scrollEl = findScrollableInChat(e.target);
|
|
69
|
-
};
|
|
70
|
-
const onTouchMove = (e) => {
|
|
71
|
-
const target = e.target;
|
|
72
|
-
const chatRoot = chatRef.current;
|
|
73
|
-
const inChat = !!(chatRoot && target && chatRoot.contains(target));
|
|
74
|
-
// Touches outside the chat shouldn't scroll the background.
|
|
75
|
-
if (!inChat) {
|
|
76
|
-
if (e.cancelable)
|
|
77
|
-
e.preventDefault();
|
|
78
|
-
return;
|
|
79
|
-
}
|
|
80
|
-
// Inside the chat but no scrollable container — block to prevent body scroll.
|
|
81
|
-
if (!scrollEl) {
|
|
82
|
-
if (e.cancelable)
|
|
83
|
-
e.preventDefault();
|
|
84
|
-
return;
|
|
85
|
-
}
|
|
86
|
-
// Inside a scrollable container — only block when at the edge in the
|
|
87
|
-
// swipe direction, so internal scrolling continues to work. Detect the
|
|
88
|
-
// dominant axis so horizontally-scrollable rows (e.g. the facets row)
|
|
89
|
-
// also get to handle their own touch gestures.
|
|
90
|
-
const currentX = e.touches[0]?.clientX ?? startX;
|
|
91
|
-
const currentY = e.touches[0]?.clientY ?? startY;
|
|
92
|
-
const deltaX = currentX - startX;
|
|
93
|
-
const deltaY = currentY - startY;
|
|
94
|
-
const horizontal = Math.abs(deltaX) > Math.abs(deltaY);
|
|
95
|
-
if (horizontal) {
|
|
96
|
-
const scrollsX = scrollEl.scrollWidth > scrollEl.clientWidth;
|
|
97
|
-
if (!scrollsX) {
|
|
98
|
-
if (e.cancelable)
|
|
99
|
-
e.preventDefault();
|
|
100
|
-
return;
|
|
101
|
-
}
|
|
102
|
-
const atLeft = scrollEl.scrollLeft <= 0;
|
|
103
|
-
const atRight = scrollEl.scrollLeft + scrollEl.clientWidth >= scrollEl.scrollWidth - 1;
|
|
104
|
-
if ((atLeft && deltaX > 0) || (atRight && deltaX < 0)) {
|
|
105
|
-
if (e.cancelable)
|
|
106
|
-
e.preventDefault();
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
else {
|
|
110
|
-
const scrollsY = scrollEl.scrollHeight > scrollEl.clientHeight;
|
|
111
|
-
if (!scrollsY) {
|
|
112
|
-
if (e.cancelable)
|
|
113
|
-
e.preventDefault();
|
|
114
|
-
return;
|
|
115
|
-
}
|
|
116
|
-
const atTop = scrollEl.scrollTop <= 0;
|
|
117
|
-
const atBottom = scrollEl.scrollTop + scrollEl.clientHeight >= scrollEl.scrollHeight - 1;
|
|
118
|
-
if ((atTop && deltaY > 0) || (atBottom && deltaY < 0)) {
|
|
119
|
-
if (e.cancelable)
|
|
120
|
-
e.preventDefault();
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
};
|
|
124
|
-
document.addEventListener('touchstart', onTouchStart, { passive: true });
|
|
125
|
-
document.addEventListener('touchmove', onTouchMove, { passive: false });
|
|
126
|
-
return () => {
|
|
127
|
-
document.removeEventListener('touchstart', onTouchStart);
|
|
128
|
-
document.removeEventListener('touchmove', onTouchMove);
|
|
129
|
-
};
|
|
130
|
-
}, [open]);
|
|
131
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Organisms/Chat/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { h, ComponentChildren } from 'preact';
|
|
2
|
-
import type { ChatController } from '@athoscommerce/snap-controller';
|
|
3
|
-
import { ComponentProps } from '../../../types';
|
|
4
|
-
import { IconProps, IconType } from '../../Atoms/Icon';
|
|
5
|
-
import { ChatButtonLang } from './ChatButton.lang';
|
|
6
|
-
export declare const ChatButtonOrganism: ((properties: ChatButtonOrganismProps) => import("@emotion/react/jsx-runtime").JSX.Element | h.JSX.Element | null) & {
|
|
7
|
-
displayName: string;
|
|
8
|
-
};
|
|
9
|
-
export type ChatButtonOrganismProps = {
|
|
10
|
-
controller: ChatController;
|
|
11
|
-
lang?: Partial<ChatButtonLang>;
|
|
12
|
-
content?: string | JSX.Element;
|
|
13
|
-
} & ChatButtonTemplatesLegalProps & ComponentProps<ChatButtonOrganismProps>;
|
|
14
|
-
export type ChatButtonTemplatesLegalProps = {
|
|
15
|
-
icon?: IconType | Partial<IconProps> | boolean;
|
|
16
|
-
children?: ComponentChildren;
|
|
17
|
-
};
|
|
18
|
-
//# sourceMappingURL=ChatButton.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ChatButton.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Organisms/ChatButton/ChatButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAQ9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGrE,OAAO,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAG7D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAyB,MAAM,mBAAmB,CAAC;AAyC1E,eAAO,MAAM,kBAAkB,gBAAyB,uBAAuB;;CA0E7E,CAAC;AAMH,MAAM,MAAM,uBAAuB,GAAG;IACrC,UAAU,EAAE,cAAc,CAAC;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;CAC/B,GAAG,6BAA6B,GAChC,cAAc,CAAC,uBAAuB,CAAC,CAAC;AAEzC,MAAM,MAAM,6BAA6B,GAAG;IAC3C,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;IAC/C,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC7B,CAAC"}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
|
|
2
|
-
import { useRef, useEffect } from 'preact/hooks';
|
|
3
|
-
import { css } from '@emotion/react';
|
|
4
|
-
import classnames from 'classnames';
|
|
5
|
-
import deepmerge from 'deepmerge';
|
|
6
|
-
import { observer } from 'mobx-react-lite';
|
|
7
|
-
import { useTheme, CacheProvider, useTreePath } from '../../../providers';
|
|
8
|
-
import { cloneWithProps, defined, mergeProps, mergeStyles } from '../../../utilities';
|
|
9
|
-
import { useCustomComponentOverride } from '../../../hooks';
|
|
10
|
-
import { Button } from '../../Atoms/Button';
|
|
11
|
-
import { langAttrOf } from '../Chat/Chat.lang';
|
|
12
|
-
import { chatButtonDefaultLang } from './ChatButton.lang';
|
|
13
|
-
const defaultStyles = ({ theme }) => {
|
|
14
|
-
// primary may be 'currentColor' (base theme) — background stays fixed so the
|
|
15
|
-
// pill remains legible wherever it inherits its color from
|
|
16
|
-
const color = theme?.variables?.colors?.primary || '#333';
|
|
17
|
-
return css({
|
|
18
|
-
display: 'inline-flex',
|
|
19
|
-
alignItems: 'center',
|
|
20
|
-
justifyContent: 'center',
|
|
21
|
-
gap: '8px',
|
|
22
|
-
padding: '8px 16px',
|
|
23
|
-
background: '#fff',
|
|
24
|
-
color: color,
|
|
25
|
-
border: `1px solid ${color}`,
|
|
26
|
-
borderRadius: '24px',
|
|
27
|
-
fontSize: '14px',
|
|
28
|
-
fontWeight: 600,
|
|
29
|
-
lineHeight: 1.2,
|
|
30
|
-
cursor: 'pointer',
|
|
31
|
-
transition: 'box-shadow 0.15s ease',
|
|
32
|
-
'&:hover': {
|
|
33
|
-
boxShadow: '0 2px 6px rgba(0, 0, 0, 0.15)',
|
|
34
|
-
},
|
|
35
|
-
'&:focus-visible': {
|
|
36
|
-
outline: '2px solid currentColor',
|
|
37
|
-
outlineOffset: '2px',
|
|
38
|
-
},
|
|
39
|
-
// native Button always renders its content span — collapse it when empty
|
|
40
|
-
// so the flex gap doesn't offset icon-only buttons
|
|
41
|
-
'.ss__button__content:empty': {
|
|
42
|
-
display: 'none',
|
|
43
|
-
},
|
|
44
|
-
'.ss__icon': {
|
|
45
|
-
fill: 'currentColor',
|
|
46
|
-
stroke: 'currentColor',
|
|
47
|
-
},
|
|
48
|
-
});
|
|
49
|
-
};
|
|
50
|
-
export const ChatButtonOrganism = observer((properties) => {
|
|
51
|
-
const globalTheme = useTheme();
|
|
52
|
-
const globalTreePath = useTreePath();
|
|
53
|
-
const defaultProps = {
|
|
54
|
-
icon: 'chat',
|
|
55
|
-
treePath: globalTreePath,
|
|
56
|
-
};
|
|
57
|
-
const props = mergeProps('chatButton', globalTheme, defaultProps, properties);
|
|
58
|
-
const { overrideElement, shouldRenderDefault } = useCustomComponentOverride('chatButton', props);
|
|
59
|
-
const { className, internalClassName, controller, content, children, icon, disableStyles, treePath } = props;
|
|
60
|
-
const { store } = controller;
|
|
61
|
-
// Register with the store so the Chat organism hides its built-in bubble while
|
|
62
|
-
// an external launcher is mounted. Runs before any early return (hooks-order safe).
|
|
63
|
-
useEffect(() => store.registerLauncher(), [store]);
|
|
64
|
-
// Same visibility rule as the Chat organism: hidden when disabled at bootstrap,
|
|
65
|
-
// but kept mounted when chat becomes disabled mid-session.
|
|
66
|
-
const wasVisibleRef = useRef(false);
|
|
67
|
-
if (!store.chatEnabled && !wasVisibleRef.current) {
|
|
68
|
-
return _jsx(_Fragment, {});
|
|
69
|
-
}
|
|
70
|
-
wasVisibleRef.current = true;
|
|
71
|
-
if (!shouldRenderDefault) {
|
|
72
|
-
return overrideElement;
|
|
73
|
-
}
|
|
74
|
-
const subProps = {
|
|
75
|
-
button: {
|
|
76
|
-
// inherited props
|
|
77
|
-
...defined({
|
|
78
|
-
disableStyles,
|
|
79
|
-
}),
|
|
80
|
-
// component theme overrides
|
|
81
|
-
theme: props?.theme,
|
|
82
|
-
treePath,
|
|
83
|
-
},
|
|
84
|
-
};
|
|
85
|
-
const styling = mergeStyles(props, defaultStyles);
|
|
86
|
-
const lang = deepmerge(chatButtonDefaultLang, props.lang || {});
|
|
87
|
-
return (_jsx(CacheProvider, { children: _jsx(Button, { ...styling, ...subProps.button, native: true, type: "button", className: classnames('ss__chat-button', { 'ss__chat-button--open': store.open }, className, internalClassName), "aria-label": store.open ? langAttrOf(lang.closeChatButton, 'aria-label') : langAttrOf(lang.openChatButton, 'aria-label'), title: store.open ? langAttrOf(lang.closeChatButton, 'title') : langAttrOf(lang.openChatButton, 'title'), "aria-expanded": store.open, onClick: () => controller.handlers.button.click(), content: content || children ? (_jsxs("span", { className: "ss__chat-button__content", children: [cloneWithProps(content, { treePath }), cloneWithProps(children, { treePath })] })) : undefined, icon: icon && { internalClassName: 'ss__chat-button__icon', ...(typeof icon == 'string' ? { icon: icon } : typeof icon == 'object' ? icon : {}) } }) }));
|
|
88
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ChatButton.lang.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Organisms/ChatButton/ChatButton.lang.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC,MAAM,WAAW,cAAc;IAC9B,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;CAC7B;AAED,eAAO,MAAM,qBAAqB,EAAE,OAAO,CAAC,cAAc,CAOzD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Organisms/ChatButton/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { ComponentProps } from '../../../types';
|
|
2
|
-
import { ChatTemplatesLegalProps, ChatLang } from '../../Organisms/Chat';
|
|
3
|
-
import type { ChatController } from '@athoscommerce/snap-controller';
|
|
4
|
-
export declare const Chat: ((properties: ChatProps) => JSX.Element) & {
|
|
5
|
-
displayName: string;
|
|
6
|
-
};
|
|
7
|
-
export type ChatProps = {
|
|
8
|
-
controller: ChatController;
|
|
9
|
-
lang?: Partial<ChatLang>;
|
|
10
|
-
} & ChatTemplatesLegalProps & ComponentProps<ChatProps>;
|
|
11
|
-
export type { ChatTemplatesLegalProps, ChatLang };
|
|
12
|
-
//# sourceMappingURL=Chat.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Chat.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Templates/Chat/Chat.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAE7D,OAAO,EAAmC,uBAAuB,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC1G,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAUrE,eAAO,MAAM,IAAI,gBAAyB,SAAS,KAAG,GAAG,CAAC,OAAO;;CAuC/D,CAAC;AAMH,MAAM,MAAM,SAAS,GAAG;IACvB,UAAU,EAAE,cAAc,CAAC;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;CACzB,GAAG,uBAAuB,GAC1B,cAAc,CAAC,SAAS,CAAC,CAAC;AAE3B,YAAY,EAAE,uBAAuB,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "@emotion/react/jsx-runtime";
|
|
2
|
-
import { css } from '@emotion/react';
|
|
3
|
-
import classnames from 'classnames';
|
|
4
|
-
import { observer } from 'mobx-react-lite';
|
|
5
|
-
import { useTheme, CacheProvider, useTreePath } from '../../../providers';
|
|
6
|
-
import { defined, mergeProps, mergeStyles } from '../../../utilities';
|
|
7
|
-
import { ChatOrganism } from '../../Organisms/Chat';
|
|
8
|
-
const defaultStyles = () => {
|
|
9
|
-
// The template itself is layout-free — the underlying Chat organism handles
|
|
10
|
-
// fixed positioning and sizing. The wrapper exists purely so theme overrides
|
|
11
|
-
// flow through mergeProps('chat', ...) and so the Chat surface can be themed
|
|
12
|
-
// per-template like Search and Recommendation.
|
|
13
|
-
return css({});
|
|
14
|
-
};
|
|
15
|
-
export const Chat = observer((properties) => {
|
|
16
|
-
const globalTheme = useTheme();
|
|
17
|
-
const globalTreePath = useTreePath();
|
|
18
|
-
const defaultProps = {
|
|
19
|
-
treePath: globalTreePath,
|
|
20
|
-
};
|
|
21
|
-
const props = mergeProps('chat', globalTheme, defaultProps, properties);
|
|
22
|
-
const { className, internalClassName, controller, disableStyles, treePath } = props;
|
|
23
|
-
const subProps = {
|
|
24
|
-
Chat: {
|
|
25
|
-
// inherited props
|
|
26
|
-
...defined({
|
|
27
|
-
disableStyles,
|
|
28
|
-
}),
|
|
29
|
-
// component theme overrides
|
|
30
|
-
theme: props.theme,
|
|
31
|
-
treePath,
|
|
32
|
-
},
|
|
33
|
-
};
|
|
34
|
-
const styling = mergeStyles(props, defaultStyles);
|
|
35
|
-
// className/internalClassName stay on the template wrapper only — spreading them
|
|
36
|
-
// into the organism would duplicate user classes on two DOM levels
|
|
37
|
-
// treePath is omitted too — the organism calls mergeProps('chat') itself, and passing
|
|
38
|
-
// this one down would append a second 'chat' segment (ss-path="chat chat")
|
|
39
|
-
const organismProps = { ...props, className: undefined, internalClassName: undefined, treePath: undefined };
|
|
40
|
-
return (_jsx(CacheProvider, { children: _jsx("div", { ...styling, className: classnames('ss__chat-template', className, internalClassName), children: _jsx(ChatOrganism, { ...subProps.Chat, ...organismProps, controller: controller }) }) }));
|
|
41
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Templates/Chat/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './Chat';
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { ComponentProps } from '../../../types';
|
|
2
|
-
import { ChatButtonTemplatesLegalProps, ChatButtonLang } from '../../Organisms/ChatButton';
|
|
3
|
-
import type { ChatController } from '@athoscommerce/snap-controller';
|
|
4
|
-
export declare const ChatButton: ((properties: ChatButtonProps) => JSX.Element) & {
|
|
5
|
-
displayName: string;
|
|
6
|
-
};
|
|
7
|
-
export type ChatButtonProps = {
|
|
8
|
-
controller: ChatController;
|
|
9
|
-
lang?: Partial<ChatButtonLang>;
|
|
10
|
-
content?: string | JSX.Element;
|
|
11
|
-
} & ChatButtonTemplatesLegalProps & ComponentProps<ChatButtonProps>;
|
|
12
|
-
export type { ChatButtonTemplatesLegalProps, ChatButtonLang };
|
|
13
|
-
//# sourceMappingURL=ChatButton.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ChatButton.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Templates/ChatButton/ChatButton.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAE7D,OAAO,EAA+C,6BAA6B,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACxI,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAUrE,eAAO,MAAM,UAAU,gBAAyB,eAAe,KAAG,GAAG,CAAC,OAAO;;CAuC3E,CAAC;AAMH,MAAM,MAAM,eAAe,GAAG;IAC7B,UAAU,EAAE,cAAc,CAAC;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;CAC/B,GAAG,6BAA6B,GAChC,cAAc,CAAC,eAAe,CAAC,CAAC;AAEjC,YAAY,EAAE,6BAA6B,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "@emotion/react/jsx-runtime";
|
|
2
|
-
import { css } from '@emotion/react';
|
|
3
|
-
import classnames from 'classnames';
|
|
4
|
-
import { observer } from 'mobx-react-lite';
|
|
5
|
-
import { useTheme, CacheProvider, useTreePath } from '../../../providers';
|
|
6
|
-
import { defined, mergeProps, mergeStyles } from '../../../utilities';
|
|
7
|
-
import { ChatButtonOrganism } from '../../Organisms/ChatButton';
|
|
8
|
-
const defaultStyles = () => {
|
|
9
|
-
// inline-block so the wrapper flows alongside its siblings when injected into
|
|
10
|
-
// merchant chrome (e.g. a nav); all button styling lives in the organism
|
|
11
|
-
return css({
|
|
12
|
-
display: 'inline-block',
|
|
13
|
-
});
|
|
14
|
-
};
|
|
15
|
-
export const ChatButton = observer((properties) => {
|
|
16
|
-
const globalTheme = useTheme();
|
|
17
|
-
const globalTreePath = useTreePath();
|
|
18
|
-
const defaultProps = {
|
|
19
|
-
treePath: globalTreePath,
|
|
20
|
-
};
|
|
21
|
-
const props = mergeProps('chatButton', globalTheme, defaultProps, properties);
|
|
22
|
-
const { className, internalClassName, controller, disableStyles, treePath } = props;
|
|
23
|
-
const subProps = {
|
|
24
|
-
ChatButton: {
|
|
25
|
-
// inherited props
|
|
26
|
-
...defined({
|
|
27
|
-
disableStyles,
|
|
28
|
-
}),
|
|
29
|
-
// component theme overrides
|
|
30
|
-
theme: props.theme,
|
|
31
|
-
treePath,
|
|
32
|
-
},
|
|
33
|
-
};
|
|
34
|
-
const styling = mergeStyles(props, defaultStyles);
|
|
35
|
-
// className/internalClassName stay on the template wrapper only — spreading them
|
|
36
|
-
// into the organism would duplicate user classes on two DOM levels
|
|
37
|
-
// treePath is omitted too — the organism calls mergeProps('chatButton') itself, and passing
|
|
38
|
-
// this one down would append a second 'chatButton' segment
|
|
39
|
-
const organismProps = { ...props, className: undefined, internalClassName: undefined, treePath: undefined };
|
|
40
|
-
return (_jsx(CacheProvider, { children: _jsx("div", { ...styling, className: classnames('ss__chat-button-template', className, internalClassName), children: _jsx(ChatButtonOrganism, { ...subProps.ChatButton, ...organismProps, controller: controller }) }) }));
|
|
41
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Templates/ChatButton/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './ChatButton';
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { ChatProps, ChatTemplatesLegalProps } from '../../../../components/Templates/Chat';
|
|
2
|
-
import { ThemeComponent } from '../../../../providers';
|
|
3
|
-
export declare const chat: ThemeComponent<'chat', ChatProps, ChatTemplatesLegalProps>;
|
|
4
|
-
//# sourceMappingURL=chat.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../../../../../../components/src/themes/base/components/templates/chat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAEhG,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,eAAO,MAAM,IAAI,EAAE,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,uBAAuB,CAA2B,CAAC"}
|