@athoscommerce/snap-preact 1.13.3-beta.187 → 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,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
|
|
2
|
-
import { useState, useEffect,
|
|
2
|
+
import { useState, useEffect, 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,21 +69,22 @@ 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
|
-
|
|
72
|
+
const toggleActive = () => {
|
|
73
|
+
const newActive = !isActive;
|
|
74
|
+
if (isActive) {
|
|
75
|
+
setActive(false);
|
|
76
|
+
if (rerender) {
|
|
77
|
+
setTimeout(() => {
|
|
78
|
+
setRenderContent(false);
|
|
79
|
+
}, 250);
|
|
80
|
+
}
|
|
79
81
|
}
|
|
80
|
-
else
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
}, 250);
|
|
82
|
+
else {
|
|
83
|
+
setActive(true);
|
|
84
|
+
setRenderContent(true);
|
|
84
85
|
}
|
|
85
|
-
document.body.style.overflow =
|
|
86
|
-
onChange && onChange(
|
|
86
|
+
document.body.style.overflow = newActive ? 'hidden' : '';
|
|
87
|
+
onChange && onChange(newActive);
|
|
87
88
|
};
|
|
88
89
|
// Sync internal state when the active prop changes from the parent component. This is a
|
|
89
90
|
// layout effect so the content commit is scheduled before consumers' passive effects run —
|
|
@@ -99,16 +100,19 @@ export const Slideout = observer((properties) => {
|
|
|
99
100
|
document.body.style.overflow = isVisible && isActive ? 'hidden' : '';
|
|
100
101
|
const styling = mergeStyles(props, defaultStyles);
|
|
101
102
|
useEffect(() => {
|
|
102
|
-
if (
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
103
|
+
if (buttonSelector) {
|
|
104
|
+
let button;
|
|
105
|
+
if (typeof buttonSelector == 'string') {
|
|
106
|
+
button = document.querySelector(buttonSelector);
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
button = buttonSelector;
|
|
110
|
+
}
|
|
111
|
+
if (button) {
|
|
112
|
+
button.addEventListener('click', () => toggleActive());
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}, []);
|
|
112
116
|
return isVisible || !rerender ? (_jsxs(CacheProvider, { children: [buttonContent &&
|
|
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:
|
|
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;
|
|
114
118
|
});
|
|
@@ -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;
|
|
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;;CA8uB3D,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"}
|
|
@@ -24,10 +24,6 @@ const defaultStyles = ({ theme, slidesToShow = 1, slideWidth, gap = 16, overlayN
|
|
|
24
24
|
display: 'flex',
|
|
25
25
|
width: `100%`,
|
|
26
26
|
transition: 'transform 0.3s ease-in-out',
|
|
27
|
-
// keep the track on its own compositor layer at all times; otherwise Chrome promotes it
|
|
28
|
-
// when a transform transition starts and demotes it when it ends, re-rasterizing the
|
|
29
|
-
// (scaled) slide content each time, which reads as every image flickering
|
|
30
|
-
willChange: 'transform',
|
|
31
27
|
// Disable transition during dragging
|
|
32
28
|
'&.ss__slideshow__track--dragging': {
|
|
33
29
|
transition: 'none',
|
|
@@ -269,8 +265,6 @@ export const Slideshow = observer((properties) => {
|
|
|
269
265
|
return () => observer.disconnect();
|
|
270
266
|
}, []);
|
|
271
267
|
// Touch/Drag state
|
|
272
|
-
// drag positions live in refs so the document-level mousemove/mouseup listeners
|
|
273
|
-
// (registered once per drag) always read current values instead of stale state
|
|
274
268
|
const [isDragging, setIsDragging] = useState(false);
|
|
275
269
|
// mirrors `isDragging` state - the state drives renders (the dragging class, the transform,
|
|
276
270
|
// the autoplay effect), but the drag handlers below run through refs and can fire before
|
|
@@ -430,17 +424,8 @@ export const Slideshow = observer((properties) => {
|
|
|
430
424
|
return;
|
|
431
425
|
const diff = currentXRef.current - startXRef.current;
|
|
432
426
|
const threshold = getNavigationThreshold();
|
|
433
|
-
const slideWidthPx = (trackRef.current?.parentElement?.offsetWidth || 0) / visibleSlides;
|
|
434
427
|
if (Math.abs(diff) > threshold) {
|
|
435
|
-
|
|
436
|
-
if (slidesDragged > slidesToMove) {
|
|
437
|
-
// long drags land on the slide group they were dragged to instead of snapping back
|
|
438
|
-
setCurrentIndex((prevIndex) => {
|
|
439
|
-
const newIndex = diff > 0 ? prevIndex - slidesDragged : prevIndex + slidesDragged;
|
|
440
|
-
return Math.max(0, Math.min(maxIndex, newIndex));
|
|
441
|
-
});
|
|
442
|
-
}
|
|
443
|
-
else if (diff > 0 && (loop || currentIndex > 0)) {
|
|
428
|
+
if (diff > 0 && (loop || currentIndex > 0)) {
|
|
444
429
|
// Dragged right - go to previous
|
|
445
430
|
goToPrevious();
|
|
446
431
|
}
|
|
@@ -478,9 +463,6 @@ export const Slideshow = observer((properties) => {
|
|
|
478
463
|
dragEndRef.current = handleDragEnd;
|
|
479
464
|
const removeMouseListenersRef = useRef(null);
|
|
480
465
|
const handleMouseDown = (event) => {
|
|
481
|
-
// only the primary (left) button starts a drag; right/middle clicks keep their default behaviour
|
|
482
|
-
if (event.button !== 0)
|
|
483
|
-
return;
|
|
484
466
|
event.preventDefault();
|
|
485
467
|
handleDragStart(event.clientX);
|
|
486
468
|
// bound here rather than in an effect - a tap's synthetic mouseup fires before effects run
|
|
@@ -525,16 +507,6 @@ export const Slideshow = observer((properties) => {
|
|
|
525
507
|
}, autoPlayInterval);
|
|
526
508
|
}
|
|
527
509
|
};
|
|
528
|
-
// The browser fires a click after a drag's mouseup/touchend. Catch it in the capture phase on
|
|
529
|
-
// the container so it never reaches slide content that carries its own onClick (e.g. product
|
|
530
|
-
// cards that open a quickview) — those handlers can't know a drag just happened.
|
|
531
|
-
const handleContainerClickCapture = (event) => {
|
|
532
|
-
if (!hasDraggedRef.current)
|
|
533
|
-
return;
|
|
534
|
-
hasDraggedRef.current = false;
|
|
535
|
-
event.stopPropagation();
|
|
536
|
-
event.preventDefault();
|
|
537
|
-
};
|
|
538
510
|
// Handle image click
|
|
539
511
|
const handleSlideClick = (slide, index) => {
|
|
540
512
|
if (slide.onClick && !isDragging && !hasDraggedRef.current) {
|
|
@@ -681,29 +653,27 @@ export const Slideshow = observer((properties) => {
|
|
|
681
653
|
}, { activeBreakpoint: globalTheme?.activeBreakpoint });
|
|
682
654
|
return (_jsx(CacheProvider, { children: _jsxs("div", { ...styling, className: classnames('ss__slideshow', className), ref: slideshowRef, role: "region", "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, "aria-roledescription": "slideshow", onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave,
|
|
683
655
|
// @ts-ignore - ignore
|
|
684
|
-
onKeyDown: handleKeyDown, tabIndex: 0, children: [_jsx("div", { className: "ss__slideshow__sr-only", ...mergedLang.srInstructions.all }), _jsx("div", { className: "ss__slideshow__container",
|
|
685
|
-
// @ts-ignore - capture-phase click
|
|
686
|
-
onClickCapture: touchDragging ? handleContainerClickCapture : undefined,
|
|
687
|
-
// Touch events
|
|
688
|
-
// @ts-ignore - touch events
|
|
689
|
-
onTouchStart: touchDragging ? (event) => handleDragStart(event.touches[0].clientX) : undefined,
|
|
690
|
-
// @ts-ignore - touch events
|
|
691
|
-
onTouchMove: touchDragging
|
|
692
|
-
? (event) => {
|
|
693
|
-
if (isDraggingRef.current) {
|
|
694
|
-
event.preventDefault(); // Prevent scrolling while dragging
|
|
695
|
-
}
|
|
696
|
-
const touch = event.touches[0];
|
|
697
|
-
handleDragMove(touch.clientX);
|
|
698
|
-
}
|
|
699
|
-
: undefined, onTouchEnd: touchDragging ? handleDragEnd : undefined,
|
|
700
|
-
// mouse events for desktop dragging
|
|
701
|
-
// move/up are bound on document in handleMouseDown so the drag keeps tracking outside the container
|
|
702
|
-
// @ts-ignore - mouse events
|
|
703
|
-
onMouseDown: touchDragging ? handleMouseDown : undefined, children: _jsx("div", { ref: trackRef, className: classnames('ss__slideshow__track', {
|
|
656
|
+
onKeyDown: handleKeyDown, tabIndex: 0, children: [_jsx("div", { className: "ss__slideshow__sr-only", ...mergedLang.srInstructions.all }), _jsx("div", { className: "ss__slideshow__container", children: _jsx("div", { ref: trackRef, className: classnames('ss__slideshow__track', {
|
|
704
657
|
'ss__slideshow__track--dragging': isDragging,
|
|
705
658
|
'ss__slideshow__track--centered': centerInsufficientSlides && totalSlides <= computedSlidesToShow,
|
|
706
|
-
}), style: { transform: `translateX(${translateX}${translateUnit})` }, role: "group", "aria-label": `Slide group ${currentIndex} of ${totalDots}`,
|
|
659
|
+
}), style: { transform: `translateX(${translateX}${translateUnit})` }, role: "group", "aria-label": `Slide group ${currentIndex} of ${totalDots}`,
|
|
660
|
+
// Touch events
|
|
661
|
+
// @ts-ignore - touch events
|
|
662
|
+
onTouchStart: touchDragging ? (event) => handleDragStart(event.touches[0].clientX) : undefined,
|
|
663
|
+
// @ts-ignore - touch events
|
|
664
|
+
onTouchMove: touchDragging
|
|
665
|
+
? (event) => {
|
|
666
|
+
if (isDraggingRef.current) {
|
|
667
|
+
event.preventDefault(); // Prevent scrolling while dragging
|
|
668
|
+
}
|
|
669
|
+
const touch = event.touches[0];
|
|
670
|
+
handleDragMove(touch.clientX);
|
|
671
|
+
}
|
|
672
|
+
: undefined, onTouchEnd: touchDragging ? handleDragEnd : undefined,
|
|
673
|
+
// mouse events for desktop dragging
|
|
674
|
+
// move/up are bound on document in handleMouseDown so the drag keeps tracking outside the track
|
|
675
|
+
// @ts-ignore - mouse events
|
|
676
|
+
onMouseDown: touchDragging ? handleMouseDown : undefined, children: normalizedSlides.map((slide, index) => {
|
|
707
677
|
const isVisible = index >= currentIndex && index < currentIndex + computedSlidesToShow;
|
|
708
678
|
const hasClickHandler = !!slide.onClick;
|
|
709
679
|
const hasContent = !!slide.content;
|
package/dist/esm/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import type { TabManagerStore } from '../../../../../src/Templates/Stores/TabMan
|
|
|
5
5
|
export declare const AutocompleteLayout: ((properties: AutocompleteLayoutProps) => import("@emotion/react/jsx-runtime").JSX.Element | null) & {
|
|
6
6
|
displayName: string;
|
|
7
7
|
};
|
|
8
|
-
export type ModuleNames = 'termsList' | 'terms.history' | 'terms.trending' | 'terms.suggestions' | 'facets' | 'facetsHorizontal' | 'button.see-more' | 'content' | 'no-results' | 'tabSelection' | '_' | 'banner.left' | 'banner.banner' | 'banner.footer' | 'banner.header';
|
|
8
|
+
export type ModuleNames = 'termsList' | 'terms.history' | 'terms.trending' | 'terms.suggestions' | 'facets' | 'facetsHorizontal' | 'button.see-more' | 'content' | 'no-results' | 'tabSelection' | 'searchInput' | '_' | 'banner.left' | 'banner.banner' | 'banner.footer' | 'banner.header';
|
|
9
9
|
type ColumnsNames = 'c1' | 'c2' | 'c3' | 'c4';
|
|
10
10
|
type PrebuiltLayouts = 'terms' | 'mobile' | 'desktop' | 'tablet';
|
|
11
11
|
type ModuleNamesWithColumns = ModuleNames | ColumnsNames | ModuleNames[] | ColumnsNames[];
|
|
@@ -14,12 +14,14 @@ type Column = {
|
|
|
14
14
|
width: string | 'auto';
|
|
15
15
|
alignContent?: 'center' | 'flex-start' | 'flex-end' | 'space-between';
|
|
16
16
|
};
|
|
17
|
+
export declare function layoutHasModule({ layout, column1, column2, column3, column4, }: Pick<AutocompleteLayoutTemplatesLegalProps, 'layout' | 'column1' | 'column2' | 'column3' | 'column4'>, moduleToFind: ModuleNames): boolean;
|
|
17
18
|
export type AutocompleteLayoutProps = {
|
|
18
19
|
input: Element | string;
|
|
19
20
|
resultComponent?: JSXComponent | JSX.Element;
|
|
20
21
|
controller: AutocompleteController;
|
|
21
22
|
lang?: Partial<AutocompleteLayoutLang>;
|
|
22
23
|
tabManager?: TabManagerStore;
|
|
24
|
+
searchInputSlot?: JSX.Element;
|
|
23
25
|
} & Omit<AutocompleteLayoutTemplatesLegalProps, 'resultComponent'> & ComponentProps<AutocompleteLayoutProps>;
|
|
24
26
|
export type AutocompleteLayoutTemplatesLegalProps = {
|
|
25
27
|
resultComponent?: string;
|
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;
|
|
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;AAgL3F,eAAO,MAAM,kBAAkB,gBAAyB,uBAAuB;;CAgnB7E,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,aAAa,GACb,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;AAUF,wBAAgB,eAAe,CAC9B,EACC,MAAM,EACN,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,GACP,EAAE,IAAI,CAAC,qCAAqC,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC,EACxG,YAAY,EAAE,WAAW,GACvB,OAAO,CAaT;AAED,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;IAC7B,eAAe,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;CAC9B,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
|
@@ -126,6 +126,9 @@ const defaultStyles = ({ controller, input, viewportMaxHeight, width, theme, col
|
|
|
126
126
|
'.ss__autocomplete__facets-wrapper': {
|
|
127
127
|
width: '100%',
|
|
128
128
|
},
|
|
129
|
+
'.ss__autocomplete__search-input-wrapper': {
|
|
130
|
+
width: '100%',
|
|
131
|
+
},
|
|
129
132
|
'.ss__autocomplete__content': {
|
|
130
133
|
display: 'flex',
|
|
131
134
|
flex: `1 1 0%`,
|
|
@@ -275,7 +278,7 @@ export const AutocompleteLayout = observer((properties) => {
|
|
|
275
278
|
input = document.querySelector(input);
|
|
276
279
|
}
|
|
277
280
|
}
|
|
278
|
-
const { facetsTitle, contentTitle, column1, column2, column3, column4, onReset, excludeBanners, resultComponent, templates, disableStyles, className, internalClassName, controller, tabManager, } = props;
|
|
281
|
+
const { facetsTitle, contentTitle, column1, column2, column3, column4, onReset, excludeBanners, resultComponent, templates, disableStyles, className, internalClassName, controller, tabManager, searchInputSlot, } = props;
|
|
279
282
|
let layout = props.layout;
|
|
280
283
|
const subProps = {
|
|
281
284
|
button: {
|
|
@@ -331,6 +334,7 @@ export const AutocompleteLayout = observer((properties) => {
|
|
|
331
334
|
facetsHorizontal: {
|
|
332
335
|
name: 'autocomplete',
|
|
333
336
|
// default props
|
|
337
|
+
controller,
|
|
334
338
|
// inherited props
|
|
335
339
|
...defined({
|
|
336
340
|
disableStyles,
|
|
@@ -400,8 +404,10 @@ export const AutocompleteLayout = observer((properties) => {
|
|
|
400
404
|
controller.bind();
|
|
401
405
|
}, []);
|
|
402
406
|
}
|
|
403
|
-
|
|
404
|
-
|
|
407
|
+
// content modules require a focused input and something to show (terms, or a loaded query)
|
|
408
|
+
const contentVisible = Boolean(input === state.focusedInput) &&
|
|
409
|
+
Boolean(terms.length > 0 || trending?.length > 0 || history?.length > 0 || (state.input && controller.store.loaded));
|
|
410
|
+
const visible = contentVisible || Boolean(searchInputSlot);
|
|
405
411
|
const showResultsBool = () => Boolean(results.length > 0 || Object.keys(merchandising.content).length > 0 || search?.query?.string || loading);
|
|
406
412
|
const [showResults, setShowResults] = useState(showResultsBool());
|
|
407
413
|
const checkAndSetShowResults = () => {
|
|
@@ -458,6 +464,8 @@ export const AutocompleteLayout = observer((properties) => {
|
|
|
458
464
|
RecommendationTemplateResultComponent = recs.RecommendationTemplateResultComponent;
|
|
459
465
|
recsController = recs.recsController;
|
|
460
466
|
}
|
|
467
|
+
// the slot element can only be rendered once - the first 'searchInput' module claims it
|
|
468
|
+
let searchInputRendered = false;
|
|
461
469
|
const findModule = (module, rowCounter) => {
|
|
462
470
|
//new row
|
|
463
471
|
if (typeof module !== 'string') {
|
|
@@ -499,6 +507,15 @@ export const AutocompleteLayout = observer((properties) => {
|
|
|
499
507
|
return null;
|
|
500
508
|
return _jsx("div", { className: "ss__autocomplete__column ss__autocomplete__column--c4", children: children });
|
|
501
509
|
}
|
|
510
|
+
if (module == 'searchInput') {
|
|
511
|
+
if (!searchInputSlot || searchInputRendered)
|
|
512
|
+
return null;
|
|
513
|
+
searchInputRendered = true;
|
|
514
|
+
return _jsx("div", { className: "ss__autocomplete__search-input-wrapper", children: searchInputSlot });
|
|
515
|
+
}
|
|
516
|
+
// separators render whenever the layout does; every other module needs a focused input with content
|
|
517
|
+
if (module !== '_' && !contentVisible)
|
|
518
|
+
return null;
|
|
502
519
|
if (module == 'termsList') {
|
|
503
520
|
if (!terms?.length && !history?.length && !trending?.length)
|
|
504
521
|
return null;
|
|
@@ -552,23 +569,11 @@ export const AutocompleteLayout = observer((properties) => {
|
|
|
552
569
|
if (module == 'button.see-more' && showResults && search?.query?.string && results.length > 0) {
|
|
553
570
|
return (_jsxs(Button, { ...subProps.button, ...mergedLang.seeMoreButton.attributes, children: [_jsx("span", { ...mergedLang.seeMoreButton.value }), _jsx(Icon, { ...subProps.icon })] }));
|
|
554
571
|
}
|
|
572
|
+
return null;
|
|
555
573
|
};
|
|
556
|
-
|
|
557
|
-
if (props.layout === 'terms') {
|
|
558
|
-
layout = [['termsList'], ['no-results'], ['_', 'button.see-more']];
|
|
559
|
-
}
|
|
560
|
-
if (props.layout === 'mobile') {
|
|
561
|
-
layout = [['termsList'], ['content'], ['_', 'button.see-more']];
|
|
562
|
-
}
|
|
563
|
-
if (props.layout === 'tablet') {
|
|
564
|
-
layout = [['c1', 'c3']];
|
|
565
|
-
}
|
|
566
|
-
if (props.layout === 'desktop') {
|
|
567
|
-
layout = [['c1', 'c2', 'c3']];
|
|
568
|
-
}
|
|
569
|
-
}
|
|
574
|
+
layout = typeof props.layout === 'string' ? PREBUILT_LAYOUTS[props.layout] : props.layout;
|
|
570
575
|
//fallback for unsupported layout values
|
|
571
|
-
if (typeof layout === 'string') {
|
|
576
|
+
if (typeof props.layout === 'string' && !layout) {
|
|
572
577
|
controller.log.warn(`unsupported layout found. ${props.layout}`);
|
|
573
578
|
layout = [];
|
|
574
579
|
}
|
|
@@ -580,7 +585,24 @@ export const AutocompleteLayout = observer((properties) => {
|
|
|
580
585
|
role: 'tabpanel',
|
|
581
586
|
'aria-labelledby': `ss__tab--${tabControllerId}`,
|
|
582
587
|
}
|
|
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
|
|
584
|
-
return findModule(module, topRowCounter);
|
|
585
|
-
})] }) })) : null;
|
|
588
|
+
: {}), 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) => findModule(module, topRowCounter))] }) })) : null;
|
|
586
589
|
});
|
|
590
|
+
const PREBUILT_LAYOUTS = {
|
|
591
|
+
terms: [['termsList'], ['no-results'], ['_', 'button.see-more']],
|
|
592
|
+
mobile: [['termsList'], ['content'], ['_', 'button.see-more']],
|
|
593
|
+
tablet: [['c1', 'c3']],
|
|
594
|
+
desktop: [['c1', 'c2', 'c3']],
|
|
595
|
+
};
|
|
596
|
+
// checks a layout (and the column layouts it references) for a module
|
|
597
|
+
export function layoutHasModule({ layout, column1, column2, column3, column4, }, moduleToFind) {
|
|
598
|
+
//recast names back to c1 style
|
|
599
|
+
const columns = {
|
|
600
|
+
c1: column1,
|
|
601
|
+
c2: column2,
|
|
602
|
+
c3: column3,
|
|
603
|
+
c4: column4,
|
|
604
|
+
};
|
|
605
|
+
const modulesList = (typeof layout === 'string' ? PREBUILT_LAYOUTS[layout] : layout)?.flat() || [];
|
|
606
|
+
// a module is either listed directly or inside a referenced column's layout
|
|
607
|
+
return modulesList.some((entry) => entry === moduleToFind || Boolean(columns[entry]?.layout.flat().includes(moduleToFind)));
|
|
608
|
+
}
|
|
@@ -21,6 +21,7 @@ export type FacetsHorizontalTemplatesLegalProps = {
|
|
|
21
21
|
limit?: number;
|
|
22
22
|
alwaysShowToggleSidebarButton?: boolean;
|
|
23
23
|
hideToggleSidebarButton?: boolean;
|
|
24
|
+
openFacetsInSidebar?: boolean;
|
|
24
25
|
iconCollapse?: IconType | Partial<IconProps>;
|
|
25
26
|
iconExpand?: IconType | Partial<IconProps>;
|
|
26
27
|
toggleSidebarButtonText?: string;
|
package/dist/esm/components/src/components/Organisms/FacetsHorizontal/FacetsHorizontal.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FacetsHorizontal.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Organisms/FacetsHorizontal/FacetsHorizontal.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAU3B,OAAO,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAE/F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAwD,MAAM,gBAAgB,CAAC;AAE5F,OAAO,EAAQ,SAAS,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"FacetsHorizontal.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Organisms/FacetsHorizontal/FacetsHorizontal.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAU3B,OAAO,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAE/F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAwD,MAAM,gBAAgB,CAAC;AAE5F,OAAO,EAAQ,SAAS,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAkF7D,eAAO,MAAM,gBAAgB,gBAAyB,qBAAqB;;CAwYzE,CAAC;AAYH,MAAM,MAAM,qBAAqB,GAAG;IACnC,MAAM,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC/B,IAAI,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACrC,UAAU,CAAC,EAAE,gBAAgB,GAAG,sBAAsB,CAAC;CACvD,GAAG,mCAAmC,GACtC,cAAc,CAAC,qBAAqB,CAAC,CAAC;AAEvC,MAAM,MAAM,mCAAmC,GAAG;IACjD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAE7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,YAAY,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAC7C,UAAU,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAC3C,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,kBAAkB,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;CACxE,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACpC,cAAc,EAAE,IAAI,CAAC;QACpB,aAAa,EAAE,mBAAmB,CAAC;QACnC,KAAK,EAAE,mBAAmB,CAAC;KAC3B,CAAC,CAAC;IACH,uBAAuB,CAAC,EAAE,IAAI,CAAC;QAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;QAAC,gBAAgB,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAC7F"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
|
|
2
|
-
import { useState } from 'preact/hooks';
|
|
2
|
+
import { useState, useEffect, useRef } from 'preact/hooks';
|
|
3
3
|
import { css } from '@emotion/react';
|
|
4
4
|
import classnames from 'classnames';
|
|
5
5
|
import { observer } from 'mobx-react-lite';
|
|
@@ -13,6 +13,7 @@ import { Icon } from '../../Atoms/Icon';
|
|
|
13
13
|
import { Button } from '../../Atoms/Button';
|
|
14
14
|
import { Slideout } from '../../Molecules/Slideout';
|
|
15
15
|
import { Sidebar } from '../Sidebar';
|
|
16
|
+
import { useA11y } from '../../../hooks/useA11y';
|
|
16
17
|
const defaultStyles = ({ theme }) => {
|
|
17
18
|
return css({
|
|
18
19
|
margin: '10px 0px',
|
|
@@ -95,6 +96,8 @@ export const FacetsHorizontal = observer((properties) => {
|
|
|
95
96
|
};
|
|
96
97
|
let props = mergeProps('facetsHorizontal', globalTheme, defaultProps, properties);
|
|
97
98
|
const { facets, limit, alwaysShowToggleSidebarButton, hideToggleSidebarButton, onFacetOptionClick, showSelectedCount, hideSelectedCountParenthesis, clearAllIcon, showClearAllText, iconExpand, clearAllText, iconCollapse, toggleSidebarButtonText, disableStyles, className, internalClassName, controller, treePath, } = props;
|
|
99
|
+
//we just dont allow this prop to be used outside of the search controller.
|
|
100
|
+
const openFacetsInSidebar = controller?.type !== 'search' ? false : props.openFacetsInSidebar;
|
|
98
101
|
const { overrideElement, shouldRenderDefault } = useCustomComponentOverride('facetsHorizontal', props);
|
|
99
102
|
if (!shouldRenderDefault) {
|
|
100
103
|
return overrideElement;
|
|
@@ -136,6 +139,7 @@ export const FacetsHorizontal = observer((properties) => {
|
|
|
136
139
|
}
|
|
137
140
|
}
|
|
138
141
|
const [sidebarOpenState, setSidebarOpenState] = useState(false);
|
|
142
|
+
const renderToggleSidebarButton = Boolean(!hideToggleSidebarButton && (isOverflowing || alwaysShowToggleSidebarButton));
|
|
139
143
|
const subProps = {
|
|
140
144
|
dropdown: {
|
|
141
145
|
// default props
|
|
@@ -176,7 +180,7 @@ export const FacetsHorizontal = observer((properties) => {
|
|
|
176
180
|
internalClassName: `ss__facets-horizontal__content__facet`,
|
|
177
181
|
justContent: true,
|
|
178
182
|
// this should be turned on if there is ever a filters button rendering.
|
|
179
|
-
statefulOverflow:
|
|
183
|
+
statefulOverflow: renderToggleSidebarButton ? true : undefined,
|
|
180
184
|
// inherited props
|
|
181
185
|
...defined({
|
|
182
186
|
disableStyles,
|
|
@@ -200,6 +204,7 @@ export const FacetsHorizontal = observer((properties) => {
|
|
|
200
204
|
sidebar: {
|
|
201
205
|
// default props
|
|
202
206
|
internalClassName: 'ss__facets-horizontal__sidebar',
|
|
207
|
+
onToggleSidebar: () => setSidebarOpenState(false),
|
|
203
208
|
// inherited props
|
|
204
209
|
...defined({
|
|
205
210
|
disableStyles,
|
|
@@ -223,6 +228,54 @@ export const FacetsHorizontal = observer((properties) => {
|
|
|
223
228
|
const innerRef = useClickOutside(() => {
|
|
224
229
|
selectedFacet && setSelectedFacet(undefined);
|
|
225
230
|
});
|
|
231
|
+
// facet field to scroll into view once the slideout renders
|
|
232
|
+
const [sidebarFacetField, setSidebarFacetField] = useState(undefined);
|
|
233
|
+
// facet expanded by a header click; collapsed again when the sidebar closes
|
|
234
|
+
const autoOpenedFacet = useRef(undefined);
|
|
235
|
+
// field of the header that opened the sidebar; focus returns to it when the sidebar closes
|
|
236
|
+
const openerField = useRef(undefined);
|
|
237
|
+
const openFacetsInSidebarFunc = (facet) => {
|
|
238
|
+
// expand the facet so it renders open in the sidebar
|
|
239
|
+
if (facet.collapsed) {
|
|
240
|
+
facet.toggleCollapse();
|
|
241
|
+
autoOpenedFacet.current = facet;
|
|
242
|
+
}
|
|
243
|
+
openerField.current = facet.field;
|
|
244
|
+
setSidebarFacetField(facet.field);
|
|
245
|
+
setSidebarOpenState(true);
|
|
246
|
+
};
|
|
247
|
+
useEffect(() => {
|
|
248
|
+
if (!sidebarFacetField || !sidebarOpenState)
|
|
249
|
+
return;
|
|
250
|
+
// slideout content is already mounted; match by class so field names need no CSS escaping
|
|
251
|
+
const slideoutElem = innerRef.current?.querySelector('.ss__facets-horizontal__slideout');
|
|
252
|
+
const facetElem = Array.from(slideoutElem?.querySelectorAll('.ss__facet') || []).find((elem) => elem.classList.contains(`ss__facet--${sidebarFacetField}`));
|
|
253
|
+
if (facetElem) {
|
|
254
|
+
if (typeof facetElem.scrollIntoView == 'function') {
|
|
255
|
+
facetElem.scrollIntoView({ block: 'start' });
|
|
256
|
+
}
|
|
257
|
+
// move focus into the sidebar so keyboard navigation continues from the opened facet
|
|
258
|
+
facetElem.querySelector('.ss__facet__header')?.focus({ preventScroll: true });
|
|
259
|
+
}
|
|
260
|
+
setSidebarFacetField(undefined);
|
|
261
|
+
}, [sidebarFacetField, sidebarOpenState]);
|
|
262
|
+
useEffect(() => {
|
|
263
|
+
if (sidebarOpenState)
|
|
264
|
+
return;
|
|
265
|
+
// re-collapse the auto-opened facet (slideout content is already unmounted, so nothing flickers)
|
|
266
|
+
const facet = autoOpenedFacet.current;
|
|
267
|
+
autoOpenedFacet.current = undefined;
|
|
268
|
+
if (facet && !facet.collapsed && typeof facet.toggleCollapse == 'function') {
|
|
269
|
+
facet.toggleCollapse();
|
|
270
|
+
}
|
|
271
|
+
// return focus to the header that opened the sidebar
|
|
272
|
+
const field = openerField.current;
|
|
273
|
+
openerField.current = undefined;
|
|
274
|
+
if (field) {
|
|
275
|
+
const headerDropdown = Array.from(innerRef.current?.querySelectorAll('.ss__facets-horizontal__header__dropdown') || []).find((elem) => elem.classList.contains(`ss__facets-horizontal__header__dropdown--${field}`));
|
|
276
|
+
headerDropdown?.querySelector('.ss__dropdown__button')?.focus();
|
|
277
|
+
}
|
|
278
|
+
}, [sidebarOpenState]);
|
|
226
279
|
//initialize lang
|
|
227
280
|
const defaultLang = {
|
|
228
281
|
toggleSidebarButtonText: {
|
|
@@ -235,7 +288,8 @@ export const FacetsHorizontal = observer((properties) => {
|
|
|
235
288
|
const ToggleSidebarButton = ({ sidebarOpenState, setSidebarOpenState, subProps }) => {
|
|
236
289
|
return (_jsx(Button, { ...subProps.toggleSidebarButton, internalClassName: "ss__facets-horizontal__header__toggle-sidebar", onClick: () => setSidebarOpenState(!sidebarOpenState), children: _jsx("span", { ...mergedLang.toggleSidebarButtonText.all }) }));
|
|
237
290
|
};
|
|
238
|
-
|
|
291
|
+
// the slideout is also needed when facet headers open the sidebar
|
|
292
|
+
const renderSlideout = renderToggleSidebarButton || Boolean(openFacetsInSidebar);
|
|
239
293
|
//todo investigate keyboard navigation here when overlay prop is true/false
|
|
240
294
|
return (facetsToShow && facetsToShow?.length > 0) || isOverflowing ? (_jsx(CacheProvider, { children: _jsxs("div", { className: classnames('ss__facets-horizontal', className, internalClassName), ref: innerRef, ...styling, children: [_jsxs("div", { className: "ss__facets-horizontal__header", children: [facetsToShow?.map((facet) => {
|
|
241
295
|
const selectedCount = facet?.values?.filter((value) => value?.filtered).length ||
|
|
@@ -258,8 +312,12 @@ export const FacetsHorizontal = observer((properties) => {
|
|
|
258
312
|
selectedFacet,
|
|
259
313
|
facet,
|
|
260
314
|
}, { activeBreakpoint: globalTheme?.activeBreakpoint });
|
|
261
|
-
return (_jsx(Dropdown, { ...subProps.dropdown, internalClassName: classnames(subProps.dropdown.internalClassName, `ss__facets-horizontal__header__dropdown--${facet.display}`, `ss__facets-horizontal__header__dropdown--${facet.field}`), open: selectedFacet?.field === facet.field, onClick: (e) => {
|
|
262
|
-
|
|
315
|
+
return (_jsx(Dropdown, { ...subProps.dropdown, internalClassName: classnames(subProps.dropdown.internalClassName, `ss__facets-horizontal__header__dropdown--${facet.display}`, `ss__facets-horizontal__header__dropdown--${facet.field}`), open: openFacetsInSidebar ? false : selectedFacet?.field === facet.field, onClick: (e) => {
|
|
316
|
+
if (openFacetsInSidebar) {
|
|
317
|
+
openFacetsInSidebarFunc(facet);
|
|
318
|
+
return;
|
|
319
|
+
}
|
|
320
|
+
// @ts-ignore - escape key closes the dropdown
|
|
263
321
|
if (selectedFacet !== facet && e.code !== 'Escape') {
|
|
264
322
|
setSelectedFacet(facet);
|
|
265
323
|
}
|
|
@@ -271,6 +329,6 @@ export const FacetsHorizontal = observer((properties) => {
|
|
|
271
329
|
facet?.clear.url.link.onClick();
|
|
272
330
|
}, icon: clearAllIcon ? clearAllIcon : undefined, children: mergedLang.clearAllText.value && showClearAllText ? _jsx("label", { ...mergedLang.clearAllText.all }) : null })) : (_jsx(_Fragment, {}))] }), _jsx(Icon, { ...subProps.icon, ...(selectedFacet?.field === facet.field
|
|
273
331
|
? { ...(typeof iconExpand == 'string' ? { icon: iconExpand } : iconExpand) }
|
|
274
|
-
: { ...(typeof iconCollapse == 'string' ? { icon: iconCollapse } : iconCollapse) }) })] }), disableOverlay: false, children: _jsx(Facet, { ...subProps.facet, facet: facet }) }));
|
|
275
|
-
}),
|
|
332
|
+
: { ...(typeof iconCollapse == 'string' ? { icon: iconCollapse } : iconCollapse) }) })] }), disableOverlay: false, children: !openFacetsInSidebar && _jsx(Facet, { ...subProps.facet, facet: facet }) }));
|
|
333
|
+
}), renderToggleSidebarButton && (_jsx(ToggleSidebarButton, { sidebarOpenState: sidebarOpenState, setSidebarOpenState: setSidebarOpenState, subProps: subProps }))] }), renderSlideout && (_jsx(Slideout, { ...subProps.slideout, active: sidebarOpenState, children: _jsx("div", { className: 'ss__facets-horizontal__slideout__sidebar-wrapper', ref: (e) => useA11y(e, 0, true, () => setSidebarOpenState((prev) => !prev)), children: _jsx(Sidebar, { ...subProps.sidebar, controller: controller }) }) }))] }) })) : null;
|
|
276
334
|
});
|
|
@@ -22,6 +22,8 @@ export type FilterSummaryTemplatesLegalProps = {
|
|
|
22
22
|
hideFacetLabel?: boolean;
|
|
23
23
|
clearAllLabel?: string;
|
|
24
24
|
hideClearAll?: boolean;
|
|
25
|
+
noFiltersText?: string;
|
|
26
|
+
hideNoFiltersText?: boolean;
|
|
25
27
|
onClick?: (e: React.MouseEvent<HTMLAnchorElement, MouseEvent>, filterFilter: FilterType) => void;
|
|
26
28
|
onClearAllClick?: (e: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => void;
|
|
27
29
|
};
|
|
@@ -33,5 +35,8 @@ export interface FilterSummaryLang {
|
|
|
33
35
|
label?: string;
|
|
34
36
|
value?: string;
|
|
35
37
|
}>;
|
|
38
|
+
noFiltersText: Lang<{
|
|
39
|
+
controller?: SearchController | AutocompleteController;
|
|
40
|
+
}>;
|
|
36
41
|
}
|
|
37
42
|
//# sourceMappingURL=FilterSummary.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterSummary.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Organisms/FilterSummary/FilterSummary.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAS3B,OAAO,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAC/F,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAuC,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"FilterSummary.d.ts","sourceRoot":"","sources":["../../../../../../../components/src/components/Organisms/FilterSummary/FilterSummary.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAS3B,OAAO,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAC/F,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAuC,MAAM,gBAAgB,CAAC;AA6D3E,eAAO,MAAM,aAAa,gBAAyB,kBAAkB;;CAsInE,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG;IAChC,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,gBAAgB,GAAG,sBAAsB,CAAC;IACvD,IAAI,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAClC,GAAG,gCAAgC,GACnC,cAAc,CAAC,kBAAkB,CAAC,CAAC;AAEpC,MAAM,MAAM,gCAAgC,GAAG;IAC9C,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;IACnD,YAAY,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,EAAE,YAAY,EAAE,UAAU,KAAK,IAAI,CAAC;IACjG,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;CAC/E,CAAC;AAEF,MAAM,WAAW,iBAAiB;IACjC,KAAK,EAAE,IAAI,CAAC;QACX,OAAO,EAAE,UAAU,EAAE,CAAC;KACtB,CAAC,CAAC;IACH,aAAa,EAAE,IAAI,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IACH,aAAa,EAAE,IAAI,CAAC;QACnB,UAAU,CAAC,EAAE,gBAAgB,GAAG,sBAAsB,CAAC;KACvD,CAAC,CAAC;CACH"}
|
|
@@ -20,6 +20,9 @@ const defaultStyles = (props) => {
|
|
|
20
20
|
gap: '10px',
|
|
21
21
|
flexWrap: 'wrap',
|
|
22
22
|
},
|
|
23
|
+
'.ss__filter-summary__no-filters': {
|
|
24
|
+
margin: '5px 0',
|
|
25
|
+
},
|
|
23
26
|
'&.ss__filter-summary--list': {
|
|
24
27
|
'& .ss__filter-summary__clear-all .ss__filter__value': {
|
|
25
28
|
marginLeft: '5px',
|
|
@@ -64,6 +67,8 @@ export const FilterSummary = observer((properties) => {
|
|
|
64
67
|
title: 'Current Filters',
|
|
65
68
|
type: 'inline',
|
|
66
69
|
clearAllLabel: 'Clear All',
|
|
70
|
+
noFiltersText: 'No filters applied',
|
|
71
|
+
hideNoFiltersText: true,
|
|
67
72
|
clearAllIcon: 'close-thin',
|
|
68
73
|
filterIcon: 'close-thin',
|
|
69
74
|
filters: properties.controller?.store?.filters,
|
|
@@ -71,7 +76,7 @@ export const FilterSummary = observer((properties) => {
|
|
|
71
76
|
treePath: globalTreePath,
|
|
72
77
|
};
|
|
73
78
|
const props = mergeProps('filterSummary', globalTheme, defaultProps, properties);
|
|
74
|
-
const { filters, title, type, filterIcon, clearAllIcon, separator, hideFacetLabel, hideTitle, clearAllLabel, hideClearAll, onClick, onClearAllClick, disableStyles, className, internalClassName, treePath, } = props;
|
|
79
|
+
const { filters, title, type, filterIcon, clearAllIcon, separator, hideFacetLabel, hideTitle, clearAllLabel, hideClearAll, noFiltersText, hideNoFiltersText, onClick, onClearAllClick, disableStyles, className, internalClassName, treePath, } = props;
|
|
75
80
|
const { overrideElement, shouldRenderDefault } = useCustomComponentOverride('filterSummary', props);
|
|
76
81
|
if (!shouldRenderDefault) {
|
|
77
82
|
return overrideElement;
|
|
@@ -102,16 +107,22 @@ export const FilterSummary = observer((properties) => {
|
|
|
102
107
|
clearAllLabel: {
|
|
103
108
|
value: clearAllLabel,
|
|
104
109
|
},
|
|
110
|
+
noFiltersText: {
|
|
111
|
+
value: noFiltersText,
|
|
112
|
+
},
|
|
105
113
|
};
|
|
106
114
|
//deep merge with props.lang
|
|
107
115
|
const lang = deepmerge(defaultLang, props.lang || {});
|
|
108
|
-
const
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
116
|
+
const langOptions = { activeBreakpoint: globalTheme?.activeBreakpoint };
|
|
117
|
+
const mergedLang = {
|
|
118
|
+
...useLang({ title: lang.title }, { filters }, langOptions),
|
|
119
|
+
...useLang({ noFiltersText: lang.noFiltersText }, { controller: properties.controller }, langOptions),
|
|
120
|
+
};
|
|
121
|
+
if (!filters?.length && hideNoFiltersText) {
|
|
122
|
+
return null;
|
|
123
|
+
}
|
|
124
|
+
return (_jsx(CacheProvider, { children: _jsxs("div", { ...styling, className: classnames('ss__filter-summary', { 'ss__filter-summary--list': type === 'list' }, { 'ss__filter-summary--inline': type === 'inline' }, { 'ss__filter-summary--no-filters': !filters?.length }, className, internalClassName), children: [!hideTitle && _jsx("div", { className: "ss__filter-summary__title", ...mergedLang.title?.all }), filters?.length ? (_jsxs("div", { className: "ss__filter-summary__filters", children: [filters.map((filter) => (_jsx(Filter, { ...subProps.filter, filter: filter, onClick: (e) => onClick && onClick(e, filter) }))), !hideClearAll && (_jsx(Filter, { ...subProps.filter, name: 'clear-all', icon: clearAllIcon, internalClassName: `${subProps?.filter?.internalClassName} ss__filter-summary__clear-all`, hideFacetLabel: true, valueLabel: clearAllLabel, onClick: (e) => {
|
|
112
125
|
onClearAllClick && onClearAllClick(e);
|
|
113
126
|
properties.controller?.urlManager.remove('filter').remove('page').go();
|
|
114
|
-
}, lang: {
|
|
115
|
-
filter: { attributes: { 'aria-label': clearAllLabel } },
|
|
116
|
-
} }))] })] }) })) : null;
|
|
127
|
+
}, lang: { filter: lang.clearAllLabel } }))] })) : (_jsx("div", { className: "ss__filter-summary__no-filters", ...mergedLang.noFiltersText?.all }))] }) }));
|
|
117
128
|
});
|