@athoscommerce/snap-preact 1.12.1-beta.152 → 1.13.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/Atoms/Price/Price.js +2 -2
- package/dist/cjs/components/src/components/Molecules/CustomComponentWrapper/CustomComponentWrapper.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 +59 -34
- package/dist/cjs/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.js +13 -8
- package/dist/cjs/components/src/components/Organisms/QuickviewLayout/QuickviewLayout.js +13 -8
- package/dist/cjs/components/src/components/Organisms/Results/Results.js +1 -1
- package/dist/cjs/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.js +0 -5
- package/dist/cjs/components/src/components/Templates/AutocompleteModal/AutocompleteModal.js +0 -5
- package/dist/cjs/components/src/components/Templates/AutocompleteSlideout/AutocompleteSlideout.js +0 -5
- package/dist/cjs/components/src/hooks/useLayoutOptions.js +19 -14
- 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/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/mergeProps.js +647 -184
- package/dist/cjs/components/src/utilities/snapify.js +0 -27
- package/dist/cjs/src/Snap.js +1 -71
- package/dist/cjs/src/Templates/SnapTemplates.js +21 -107
- package/dist/cjs/src/Templates/Stores/LibraryStore.js +3 -51
- package/dist/cjs/src/Templates/Stores/TemplateStore.js +40 -11
- package/dist/cjs/src/Templates/Stores/ThemeStore.js +125 -32
- package/dist/cjs/src/Templates/Stores/library/currencies/currencies.js +52 -29
- package/dist/cjs/src/Templates/Stores/library/languages/ar.js +0 -474
- package/dist/cjs/src/Templates/Stores/library/languages/de.js +0 -474
- package/dist/cjs/src/Templates/Stores/library/languages/es.js +0 -479
- package/dist/cjs/src/Templates/Stores/library/languages/fr.js +0 -479
- package/dist/cjs/src/Templates/Stores/library/languages/hi.js +0 -474
- package/dist/cjs/src/Templates/Stores/library/languages/it.js +0 -474
- package/dist/cjs/src/Templates/Stores/library/languages/ja.js +0 -474
- package/dist/cjs/src/Templates/Stores/library/languages/ko.js +0 -474
- package/dist/cjs/src/Templates/Stores/library/languages/nl.js +0 -474
- package/dist/cjs/src/Templates/Stores/library/languages/pt.js +0 -474
- package/dist/cjs/src/Templates/Stores/library/languages/ru.js +0 -474
- package/dist/cjs/src/Templates/Stores/library/languages/tr.js +0 -474
- package/dist/cjs/src/Templates/Stores/library/languages/vi.js +0 -474
- package/dist/cjs/src/Templates/Stores/library/languages/zh.js +0 -474
- package/dist/cjs/src/Templates/Stores/library/plugins/shopify/pluginCurrency.js +5 -0
- 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/Atoms/Price/Price.d.ts +2 -0
- package/dist/esm/components/src/components/Atoms/Price/Price.d.ts.map +1 -1
- package/dist/esm/components/src/components/Atoms/Price/Price.js +2 -2
- package/dist/esm/components/src/components/Molecules/CustomComponentWrapper/CustomComponentWrapper.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/CustomComponentWrapper/CustomComponentWrapper.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/Select/Select.d.ts +2 -2
- package/dist/esm/components/src/components/Molecules/Select/Select.d.ts.map +1 -1
- 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 +1 -0
- package/dist/esm/components/src/components/Molecules/Slideshow/Slideshow.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/Slideshow/Slideshow.js +59 -34
- package/dist/esm/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.d.ts.map +1 -1
- package/dist/esm/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.js +13 -8
- package/dist/esm/components/src/components/Organisms/QuickviewLayout/QuickviewLayout.d.ts.map +1 -1
- package/dist/esm/components/src/components/Organisms/QuickviewLayout/QuickviewLayout.js +13 -8
- package/dist/esm/components/src/components/Organisms/Results/Results.js +1 -1
- package/dist/esm/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.d.ts.map +1 -1
- package/dist/esm/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.js +0 -5
- package/dist/esm/components/src/components/Templates/AutocompleteModal/AutocompleteModal.d.ts.map +1 -1
- package/dist/esm/components/src/components/Templates/AutocompleteModal/AutocompleteModal.js +0 -5
- package/dist/esm/components/src/components/Templates/AutocompleteSlideout/AutocompleteSlideout.d.ts.map +1 -1
- package/dist/esm/components/src/components/Templates/AutocompleteSlideout/AutocompleteSlideout.js +0 -5
- package/dist/esm/components/src/hooks/useLayoutOptions.d.ts.map +1 -1
- package/dist/esm/components/src/hooks/useLayoutOptions.js +19 -14
- package/dist/esm/components/src/index.d.ts +0 -14
- package/dist/esm/components/src/index.d.ts.map +1 -1
- package/dist/esm/components/src/index.js +0 -14
- package/dist/esm/components/src/providers/langComponents.d.ts +5 -20
- package/dist/esm/components/src/providers/langComponents.d.ts.map +1 -1
- package/dist/esm/components/src/providers/themeComponents.d.ts +215 -396
- 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/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/mergeProps.d.ts +11 -0
- package/dist/esm/components/src/utilities/mergeProps.d.ts.map +1 -1
- package/dist/esm/components/src/utilities/mergeProps.js +647 -184
- 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 -2
- package/dist/esm/src/Snap.d.ts.map +1 -1
- package/dist/esm/src/Snap.js +2 -72
- package/dist/esm/src/Templates/SnapTemplates.d.ts +33 -21
- package/dist/esm/src/Templates/SnapTemplates.d.ts.map +1 -1
- package/dist/esm/src/Templates/SnapTemplates.js +21 -105
- package/dist/esm/src/Templates/Stores/LibraryStore.d.ts +7 -43
- package/dist/esm/src/Templates/Stores/LibraryStore.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/LibraryStore.js +3 -51
- package/dist/esm/src/Templates/Stores/TemplateStore.d.ts +15 -25
- package/dist/esm/src/Templates/Stores/TemplateStore.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/TemplateStore.js +34 -11
- package/dist/esm/src/Templates/Stores/ThemeStore.d.ts +5 -2
- package/dist/esm/src/Templates/Stores/ThemeStore.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/ThemeStore.js +125 -32
- package/dist/esm/src/Templates/Stores/library/currencies/currencies.d.ts +27 -0
- package/dist/esm/src/Templates/Stores/library/currencies/currencies.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/currencies/currencies.js +52 -29
- package/dist/esm/src/Templates/Stores/library/languages/ar.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/ar.js +0 -474
- package/dist/esm/src/Templates/Stores/library/languages/de.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/de.js +0 -474
- package/dist/esm/src/Templates/Stores/library/languages/es.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/es.js +0 -479
- package/dist/esm/src/Templates/Stores/library/languages/fr.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/fr.js +0 -479
- package/dist/esm/src/Templates/Stores/library/languages/hi.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/hi.js +0 -474
- package/dist/esm/src/Templates/Stores/library/languages/it.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/it.js +0 -474
- package/dist/esm/src/Templates/Stores/library/languages/ja.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/ja.js +0 -474
- package/dist/esm/src/Templates/Stores/library/languages/ko.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/ko.js +0 -474
- package/dist/esm/src/Templates/Stores/library/languages/nl.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/nl.js +0 -474
- package/dist/esm/src/Templates/Stores/library/languages/pt.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/pt.js +0 -474
- package/dist/esm/src/Templates/Stores/library/languages/ru.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/ru.js +0 -474
- package/dist/esm/src/Templates/Stores/library/languages/tr.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/tr.js +0 -474
- package/dist/esm/src/Templates/Stores/library/languages/vi.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/vi.js +0 -474
- package/dist/esm/src/Templates/Stores/library/languages/zh.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/languages/zh.js +0 -474
- package/dist/esm/src/Templates/Stores/library/plugins/shopify/pluginCurrency.d.ts +2 -0
- package/dist/esm/src/Templates/Stores/library/plugins/shopify/pluginCurrency.d.ts.map +1 -0
- package/dist/esm/src/Templates/Stores/library/plugins/shopify/pluginCurrency.js +1 -0
- 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/eslint/src/validate-config.cjs +520 -0
- package/package.json +13 -15
- 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 -209
- package/dist/cjs/components/src/components/Molecules/ChatInspirationResultMessage/index.js +0 -17
- package/dist/cjs/components/src/components/Molecules/ChatMessageText/ChatMessageText.js +0 -258
- package/dist/cjs/components/src/components/Molecules/ChatMessageText/index.js +0 -17
- package/dist/cjs/components/src/components/Molecules/ChatMessageUser/ChatMessageUser.js +0 -282
- package/dist/cjs/components/src/components/Molecules/ChatMessageUser/index.js +0 -17
- package/dist/cjs/components/src/components/Molecules/ChatProductComparisonMessage/ChatProductComparisonMessage.js +0 -173
- package/dist/cjs/components/src/components/Molecules/ChatProductComparisonMessage/index.js +0 -17
- package/dist/cjs/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.js +0 -577
- package/dist/cjs/components/src/components/Molecules/ChatProductQueryMessage/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 -621
- package/dist/cjs/components/src/components/Organisms/Chat/Chat.lang.js +0 -105
- package/dist/cjs/components/src/components/Organisms/Chat/components/ChatAttachments.js +0 -104
- 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 -60
- 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/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 -30
- 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 -30
- 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 -19
- 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 -203
- 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 -252
- 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 -38
- 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 -276
- 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 -19
- 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 -167
- 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/ChatProductQueryMessage/ChatProductQueryMessage.d.ts +0 -38
- package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.d.ts.map +0 -1
- package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.js +0 -571
- package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/index.d.ts +0 -2
- package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/index.d.ts.map +0 -1
- package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/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 -615
- package/dist/esm/components/src/components/Organisms/Chat/Chat.lang.d.ts +0 -76
- 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 -100
- 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 -98
- 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 -56
- 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/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 -28
- 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
|
@@ -45,20 +45,6 @@ class Snapify {
|
|
|
45
45
|
cntrlr.init();
|
|
46
46
|
return cntrlr;
|
|
47
47
|
}
|
|
48
|
-
static chat(config) {
|
|
49
|
-
const id = config.id;
|
|
50
|
-
if (controllers[id]) {
|
|
51
|
-
return controllers[id];
|
|
52
|
-
}
|
|
53
|
-
const cntrlr = (controllers[id] = createChatController({ client, controller: config }));
|
|
54
|
-
cntrlr.on('afterStore', async ({ controller }, next) => {
|
|
55
|
-
controller.log.debug('controller', controller);
|
|
56
|
-
controller.log.debug('store', controller.store.toJSON());
|
|
57
|
-
await next();
|
|
58
|
-
});
|
|
59
|
-
cntrlr.init();
|
|
60
|
-
return cntrlr;
|
|
61
|
-
}
|
|
62
48
|
static search(config) {
|
|
63
49
|
const id = config.id;
|
|
64
50
|
if (controllers[id]) {
|
|
@@ -101,19 +87,6 @@ function createRecommendationController(config) {
|
|
|
101
87
|
});
|
|
102
88
|
return cntrlr;
|
|
103
89
|
}
|
|
104
|
-
function createChatController(config) {
|
|
105
|
-
const urlManager = new snap_url_manager_1.UrlManager(new snap_url_manager_1.UrlTranslator(), snap_url_manager_1.reactLinker).detach(true);
|
|
106
|
-
const cntrlr = new snap_controller_1.ChatController(config.controller, {
|
|
107
|
-
client: new snap_client_1.Client(config.client.globals, config.client.config),
|
|
108
|
-
store: new snap_store_mobx_1.ChatStore({ ...config.controller, siteId: config.client.globals.siteId }, { urlManager }),
|
|
109
|
-
urlManager,
|
|
110
|
-
eventManager: new snap_event_manager_1.EventManager(),
|
|
111
|
-
profiler: new snap_profiler_1.Profiler(),
|
|
112
|
-
logger: new snap_logger_1.Logger(),
|
|
113
|
-
tracker: new snap_tracker_1.Tracker(config.client.globals),
|
|
114
|
-
});
|
|
115
|
-
return cntrlr;
|
|
116
|
-
}
|
|
117
90
|
function createAutocompleteController(config) {
|
|
118
91
|
const urlManager = new snap_url_manager_1.UrlManager(new snap_url_manager_1.UrlTranslator(), snap_url_manager_1.reactLinker).detach();
|
|
119
92
|
const cntrlr = new snap_controller_1.AutocompleteController(config.controller, {
|
package/dist/cjs/src/Snap.js
CHANGED
|
@@ -101,9 +101,6 @@ class Snap {
|
|
|
101
101
|
case snap_controller_1.ControllerTypes.recommendation:
|
|
102
102
|
importPromise = import('./create/createRecommendationController');
|
|
103
103
|
break;
|
|
104
|
-
case snap_controller_1.ControllerTypes.chat:
|
|
105
|
-
importPromise = import('./create/createChatController');
|
|
106
|
-
break;
|
|
107
104
|
case snap_controller_1.ControllerTypes.search:
|
|
108
105
|
default:
|
|
109
106
|
importPromise = import('./create/createSearchController');
|
|
@@ -287,7 +284,7 @@ class Snap {
|
|
|
287
284
|
3. override via query param / cookie
|
|
288
285
|
*/
|
|
289
286
|
// node env
|
|
290
|
-
if (process.env.NODE_ENV && Object.values(snap_toolbox_1.AppMode).includes(process.env.NODE_ENV)) {
|
|
287
|
+
if (typeof process !== 'undefined' && process.env.NODE_ENV && Object.values(snap_toolbox_1.AppMode).includes(process.env.NODE_ENV)) {
|
|
291
288
|
this.mode = process.env.NODE_ENV;
|
|
292
289
|
}
|
|
293
290
|
// config
|
|
@@ -587,73 +584,6 @@ class Snap {
|
|
|
587
584
|
});
|
|
588
585
|
break;
|
|
589
586
|
}
|
|
590
|
-
case 'chat': {
|
|
591
|
-
this.config.controllers[type].forEach((controller, index) => {
|
|
592
|
-
if (typeof this._controllerPromises[controller.config.id] != 'undefined') {
|
|
593
|
-
this.logger.error(`Controller with id '${controller.config.id}' is already defined`);
|
|
594
|
-
return;
|
|
595
|
-
}
|
|
596
|
-
this._controllerPromises[controller.config.id] = new Promise(async (resolve) => {
|
|
597
|
-
try {
|
|
598
|
-
// `_initialized` is only set after the awaited init fires, so two chat
|
|
599
|
-
// targeters would otherwise both re-run the init middleware
|
|
600
|
-
let initialized = false;
|
|
601
|
-
const targetFunction = async (target, elem, originalElem) => {
|
|
602
|
-
const onTarget = target.onTarget;
|
|
603
|
-
onTarget && (await onTarget(target, elem, originalElem));
|
|
604
|
-
try {
|
|
605
|
-
const importPromises = [];
|
|
606
|
-
// dynamically import the component
|
|
607
|
-
importPromises.push(target.component());
|
|
608
|
-
const importResolutions = await Promise.all(importPromises);
|
|
609
|
-
const Component = importResolutions[0];
|
|
610
|
-
setTimeout(() => {
|
|
611
|
-
(0, preact_1.render)((0, jsx_runtime_1.jsx)(Component, { controller: this.controllers[controller.config.id], snap: this, ...target.props }), elem);
|
|
612
|
-
});
|
|
613
|
-
}
|
|
614
|
-
catch (err) {
|
|
615
|
-
this.logger.error(err);
|
|
616
|
-
this.logger.error(COMPONENT_ERROR, target);
|
|
617
|
-
}
|
|
618
|
-
};
|
|
619
|
-
if (!controller?.targeters || controller?.targeters.length === 0) {
|
|
620
|
-
const cntrlr = await this._createController(snap_controller_1.ControllerTypes.chat, controller.config, controller.services, controller.url, controller.context, (cntrlr) => {
|
|
621
|
-
if (cntrlr)
|
|
622
|
-
resolve(cntrlr);
|
|
623
|
-
});
|
|
624
|
-
if (!cntrlr.initialized)
|
|
625
|
-
cntrlr.init();
|
|
626
|
-
}
|
|
627
|
-
controller?.targeters?.forEach((target, target_index) => {
|
|
628
|
-
if (!target.selector) {
|
|
629
|
-
throw new Error(`Targets at index ${target_index} missing selector value (string).`);
|
|
630
|
-
}
|
|
631
|
-
if (!target.component) {
|
|
632
|
-
throw new Error(`Targets at index ${target_index} missing component value (Component).`);
|
|
633
|
-
}
|
|
634
|
-
target = (0, utils_1.applyChatTargetInject)(target);
|
|
635
|
-
const targeter = new snap_toolbox_1.DomTargeter([{ ...target }], async (target, elem, originalElem) => {
|
|
636
|
-
const cntrlr = await this._createController(snap_controller_1.ControllerTypes.chat, controller.config, controller.services, controller.url, controller.context, (cntrlr) => {
|
|
637
|
-
if (cntrlr)
|
|
638
|
-
resolve(cntrlr);
|
|
639
|
-
});
|
|
640
|
-
if (!initialized) {
|
|
641
|
-
initialized = true;
|
|
642
|
-
if (!cntrlr.initialized)
|
|
643
|
-
cntrlr.init();
|
|
644
|
-
}
|
|
645
|
-
targetFunction({ controller: cntrlr, ...target }, elem, originalElem);
|
|
646
|
-
cntrlr.addTargeter(targeter);
|
|
647
|
-
});
|
|
648
|
-
});
|
|
649
|
-
}
|
|
650
|
-
catch (err) {
|
|
651
|
-
this.logger.error(`Failed to instantiate ${type} controller at index ${index}.`, err);
|
|
652
|
-
}
|
|
653
|
-
});
|
|
654
|
-
});
|
|
655
|
-
break;
|
|
656
|
-
}
|
|
657
587
|
case 'autocomplete': {
|
|
658
588
|
this.config.controllers[type].forEach((controller, index) => {
|
|
659
589
|
if (typeof this._controllerPromises[controller.config.id] != 'undefined') {
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.createSearchTargeters = exports.SnapTemplates = exports.TAB_PREFIXED_PARAMS = exports.DEFAULT_AUTOCOMPLETE_CONTROLLER_SETTINGS = exports.DEFAULT_FEATURES = exports.TEMPLATE_EDITOR_UI_PARAM = exports.TEMPLATE_EDITOR_COOKIE = void 0;
|
|
7
7
|
exports.validateTemplatesConfig = validateTemplatesConfig;
|
|
8
8
|
exports.validateTemplatesConfigUnlocked = validateTemplatesConfigUnlocked;
|
|
9
9
|
exports.mapBreakpoints = mapBreakpoints;
|
|
@@ -24,14 +24,17 @@ const TargetStore_1 = require("./Stores/TargetStore");
|
|
|
24
24
|
const TabManagerStore_1 = require("./Stores/TabManagerStore");
|
|
25
25
|
const snap_client_1 = require("@athoscommerce/snap-client");
|
|
26
26
|
const snap_tracker_1 = require("@athoscommerce/snap-tracker");
|
|
27
|
-
const shopify_1 = require("@athoscommerce/snap-platforms/shopify");
|
|
28
27
|
const utils_1 = require("../utils");
|
|
29
28
|
exports.TEMPLATE_EDITOR_COOKIE = 'athosEditor';
|
|
30
29
|
exports.TEMPLATE_EDITOR_UI_PARAM = 'athos-editor';
|
|
30
|
+
// prettier-ignore
|
|
31
31
|
function validateTemplatesConfig(config) {
|
|
32
|
+
// the return type is a compile-time verdict; at runtime the config passes straight through
|
|
32
33
|
return config;
|
|
33
34
|
}
|
|
35
|
+
// prettier-ignore
|
|
34
36
|
function validateTemplatesConfigUnlocked(config) {
|
|
37
|
+
// the return type is a compile-time verdict; at runtime the config passes straight through
|
|
35
38
|
return config;
|
|
36
39
|
}
|
|
37
40
|
exports.DEFAULT_FEATURES = {};
|
|
@@ -42,54 +45,8 @@ exports.DEFAULT_AUTOCOMPLETE_CONTROLLER_SETTINGS = {
|
|
|
42
45
|
};
|
|
43
46
|
// tabs namespace their catalog specific url state - the query is shared so a single search spans every tab
|
|
44
47
|
exports.TAB_PREFIXED_PARAMS = ['filter', 'sort', 'pageSize', 'rq', 'page'];
|
|
45
|
-
const hasShopifyMarketsPluginConfig = (templateConfig) => {
|
|
46
|
-
const pluginConfigs = [
|
|
47
|
-
templateConfig.plugins?.shopify?.markets,
|
|
48
|
-
templateConfig.search?.plugins?.shopify?.markets,
|
|
49
|
-
templateConfig.autocomplete?.plugins?.shopify?.markets,
|
|
50
|
-
templateConfig.recommendation?.plugins?.shopify?.markets,
|
|
51
|
-
];
|
|
52
|
-
return pluginConfigs.some((pluginConfig) => {
|
|
53
|
-
return typeof pluginConfig?.token === 'string' && pluginConfig.token.length > 0;
|
|
54
|
-
});
|
|
55
|
-
};
|
|
56
|
-
const applyAutomaticThemeOverrides = (templateConfig) => {
|
|
57
|
-
if (templateConfig.config?.platform !== 'shopify') {
|
|
58
|
-
return templateConfig;
|
|
59
|
-
}
|
|
60
|
-
if (!hasShopifyMarketsPluginConfig(templateConfig)) {
|
|
61
|
-
return templateConfig;
|
|
62
|
-
}
|
|
63
|
-
const defaultOverrides = templateConfig.theme?.overrides?.default;
|
|
64
|
-
const priceOverride = defaultOverrides?.price;
|
|
65
|
-
if (typeof priceOverride?.format !== 'undefined') {
|
|
66
|
-
return templateConfig;
|
|
67
|
-
}
|
|
68
|
-
let context;
|
|
69
|
-
try {
|
|
70
|
-
context = (0, snap_toolbox_1.getContext)(['format']);
|
|
71
|
-
}
|
|
72
|
-
catch {
|
|
73
|
-
context = undefined;
|
|
74
|
-
}
|
|
75
|
-
const currencyFormat = context?.format || '${{amount}}';
|
|
76
|
-
// todo: consider moving this inside of the plugin if possible. seems odd to have this happen outside of it.
|
|
77
|
-
return (0, deepmerge_1.default)(templateConfig, {
|
|
78
|
-
theme: {
|
|
79
|
-
overrides: {
|
|
80
|
-
default: {
|
|
81
|
-
price: {
|
|
82
|
-
format: (number) => (0, shopify_1.shopifyMarketsPriceFormat)(number, currencyFormat),
|
|
83
|
-
},
|
|
84
|
-
},
|
|
85
|
-
},
|
|
86
|
-
},
|
|
87
|
-
});
|
|
88
|
-
};
|
|
89
|
-
exports.applyAutomaticThemeOverrides = applyAutomaticThemeOverrides;
|
|
90
48
|
class SnapTemplates extends Snap_1.Snap {
|
|
91
49
|
constructor(config) {
|
|
92
|
-
const modifiedConfig = (0, exports.applyAutomaticThemeOverrides)(config);
|
|
93
50
|
let context = {};
|
|
94
51
|
try {
|
|
95
52
|
context = (0, snap_toolbox_1.getContext)(['editor']);
|
|
@@ -103,11 +60,11 @@ class SnapTemplates extends Snap_1.Snap {
|
|
|
103
60
|
const editUIMode = Boolean((urlParams?.params?.query && exports.TEMPLATE_EDITOR_UI_PARAM in urlParams.params.query) || editorCookieValue === 'ui' || editor?.mode === 'ui');
|
|
104
61
|
const editMode = Boolean(editorCookieValue) || editUIMode || Boolean(editor?.mode === 'headless');
|
|
105
62
|
// handle "global" result component configuration
|
|
106
|
-
if (
|
|
107
|
-
|
|
63
|
+
if (config.theme.globalResultComponent) {
|
|
64
|
+
config.theme.overrides = (0, deepmerge_1.default)({ default: { result: { customComponent: config.theme.globalResultComponent } } }, config.theme.overrides || {});
|
|
108
65
|
}
|
|
109
|
-
const templatesStore = new TemplateStore_1.TemplatesStore({ config:
|
|
110
|
-
const snapConfig = createSnapConfig(
|
|
66
|
+
const templatesStore = new TemplateStore_1.TemplatesStore({ config: config, settings: { editMode } });
|
|
67
|
+
const snapConfig = createSnapConfig(config, templatesStore);
|
|
111
68
|
super(snapConfig, { templatesStore });
|
|
112
69
|
this.templates = templatesStore;
|
|
113
70
|
setTimeout(async () => {
|
|
@@ -220,36 +177,6 @@ const createSearchTargeters = (templateConfig, templatesStore) => {
|
|
|
220
177
|
});
|
|
221
178
|
};
|
|
222
179
|
exports.createSearchTargeters = createSearchTargeters;
|
|
223
|
-
const createChatTargeters = (templateConfig, templatesStore) => {
|
|
224
|
-
// initial target configs
|
|
225
|
-
const targetConfigs = templateConfig.chat?.targets || [];
|
|
226
|
-
let mergedConfigs;
|
|
227
|
-
if (templatesStore.settings.editMode) {
|
|
228
|
-
const overrideConfigs = (templatesStore.storage.get('overrides.targets.chat') || []);
|
|
229
|
-
mergedConfigs = (0, deepmerge_1.default)(targetConfigs, overrideConfigs, { arrayMerge: utils_1.combineMerge });
|
|
230
|
-
}
|
|
231
|
-
else {
|
|
232
|
-
mergedConfigs = targetConfigs;
|
|
233
|
-
}
|
|
234
|
-
return mergedConfigs.map((targetConfig) => {
|
|
235
|
-
const target = templatesStore.addTarget({ ...targetConfig, type: 'chat' });
|
|
236
|
-
const targeter = {
|
|
237
|
-
selector: targetConfig.selector,
|
|
238
|
-
// inline selectors (e.g. a nav slot) may render after DOMContentLoaded;
|
|
239
|
-
// re-injection at already-targeted elements is prevented by DomTargeter
|
|
240
|
-
autoRetarget: true,
|
|
241
|
-
component: async () => {
|
|
242
|
-
const componentImportPromises = [];
|
|
243
|
-
componentImportPromises.push(templatesStore.library.import.component.chat[targetConfig.component]());
|
|
244
|
-
await Promise.all(componentImportPromises);
|
|
245
|
-
return TemplateSelect_1.TemplateSelect;
|
|
246
|
-
},
|
|
247
|
-
props: { target, templatesStore },
|
|
248
|
-
};
|
|
249
|
-
return (0, utils_1.applyChatTargetInject)(targeter);
|
|
250
|
-
});
|
|
251
|
-
};
|
|
252
|
-
exports.createChatTargeters = createChatTargeters;
|
|
253
180
|
function createAutocompleteTargeters(templateConfig, templatesStore) {
|
|
254
181
|
// initial target configs
|
|
255
182
|
const targetConfigs = templateConfig.autocomplete?.targets || [];
|
|
@@ -376,7 +303,6 @@ function createTabServices(snapConfig, siteId) {
|
|
|
376
303
|
function createSnapConfig(templateConfig, templatesStore) {
|
|
377
304
|
const initiatorPrefix = window?.athos?.managed ? `managed/` : '';
|
|
378
305
|
const snapConfig = {
|
|
379
|
-
mode: templateConfig.config?.mode,
|
|
380
306
|
features: templateConfig.features || exports.DEFAULT_FEATURES,
|
|
381
307
|
client: {
|
|
382
308
|
globals: {},
|
|
@@ -577,21 +503,6 @@ function createSnapConfig(templateConfig, templatesStore) {
|
|
|
577
503
|
// }
|
|
578
504
|
snapConfig.instantiators.recommendation = recommendationInstantiatorConfig;
|
|
579
505
|
}
|
|
580
|
-
/* CHAT CONTROLLER */
|
|
581
|
-
if (templateConfig.chat && snapConfig.controllers) {
|
|
582
|
-
const chatControllerConfig = {
|
|
583
|
-
config: {
|
|
584
|
-
id: 'chat',
|
|
585
|
-
plugins: createPlugins(templateConfig, templatesStore, 'chat'),
|
|
586
|
-
settings: {
|
|
587
|
-
languageCode: templatesStore.language,
|
|
588
|
-
...(templateConfig.chat.settings || {}),
|
|
589
|
-
},
|
|
590
|
-
},
|
|
591
|
-
targeters: (0, exports.createChatTargeters)(templateConfig, templatesStore),
|
|
592
|
-
};
|
|
593
|
-
snapConfig.controllers.chat = [chatControllerConfig];
|
|
594
|
-
}
|
|
595
506
|
/* QUICKVIEW MANAGER — injects quickview component(s) into <body> when enabled */
|
|
596
507
|
if (templateConfig.quickview) {
|
|
597
508
|
const quickviewSettings = templateConfig.quickview?.settings;
|
|
@@ -611,14 +522,10 @@ function createPlugins(templateConfig, templatesStore, controllerType) {
|
|
|
611
522
|
if (controllerType) {
|
|
612
523
|
controllerConfig = templateConfig[controllerType] || {};
|
|
613
524
|
}
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
templatesStore.library.import.plugins.common.backgroundFilters,
|
|
619
|
-
(0, deepmerge_1.default)(templateConfig.plugins?.common?.backgroundFilters || {}, controllerConfig?.plugins?.common?.backgroundFilters || {}),
|
|
620
|
-
]);
|
|
621
|
-
}
|
|
525
|
+
plugins.push([
|
|
526
|
+
templatesStore.library.import.plugins.common.backgroundFilters,
|
|
527
|
+
(0, deepmerge_1.default)(templateConfig.plugins?.common?.backgroundFilters || {}, controllerConfig?.plugins?.common?.backgroundFilters || {}),
|
|
528
|
+
]);
|
|
622
529
|
plugins.push([
|
|
623
530
|
templatesStore.library.import.plugins.common.scrollToTop,
|
|
624
531
|
(0, deepmerge_1.default)(templateConfig.plugins?.common?.scrollToTop || {}, controllerConfig?.plugins?.common?.scrollToTop || {}),
|
|
@@ -647,9 +554,16 @@ function createPlugins(templateConfig, templatesStore, controllerType) {
|
|
|
647
554
|
]);
|
|
648
555
|
const marketsConfig = (0, deepmerge_1.default)(templateConfig.plugins?.shopify?.markets || {}, controllerConfig?.plugins?.shopify?.markets || {});
|
|
649
556
|
//only push if token is defined and non-empty
|
|
650
|
-
|
|
557
|
+
const marketsEnabled = typeof marketsConfig?.token === 'string' && marketsConfig.token.length > 0;
|
|
558
|
+
if (marketsEnabled) {
|
|
651
559
|
plugins.push([templatesStore.library.import.plugins.shopify.markets, marketsConfig]);
|
|
652
560
|
}
|
|
561
|
+
// markets plugin enables the currency plugin unless it has been explicitly disabled
|
|
562
|
+
const currencyConfig = (0, deepmerge_1.default)(templateConfig.plugins?.shopify?.currency || {}, controllerConfig?.plugins?.shopify?.currency || {});
|
|
563
|
+
if (currencyConfig?.enabled === true || (marketsEnabled && currencyConfig?.enabled !== false)) {
|
|
564
|
+
// `enabled` is resolved onto the config so the plugin survives the tab plugin filter below
|
|
565
|
+
plugins.push([templatesStore.library.import.plugins.shopify.currency, { ...currencyConfig, enabled: true }, templatesStore]);
|
|
566
|
+
}
|
|
653
567
|
break;
|
|
654
568
|
case 'bigCommerce':
|
|
655
569
|
plugins.push([
|
|
@@ -7,6 +7,7 @@ const pluginBackgroundFilters_1 = require("./library/plugins/shopify/pluginBackg
|
|
|
7
7
|
const pluginMutateResults_1 = require("./library/plugins/shopify/pluginMutateResults");
|
|
8
8
|
const pluginAddToCart_1 = require("./library/plugins/shopify/pluginAddToCart");
|
|
9
9
|
const pluginMarkets_1 = require("./library/plugins/shopify/pluginMarkets");
|
|
10
|
+
const pluginCurrency_1 = require("./library/plugins/shopify/pluginCurrency");
|
|
10
11
|
const pluginAddToCart_2 = require("./library/plugins/bigCommerce/pluginAddToCart");
|
|
11
12
|
const pluginAddToCart_3 = require("./library/plugins/magento2/pluginAddToCart");
|
|
12
13
|
const pluginAddToCart_4 = require("./library/plugins/common/pluginAddToCart");
|
|
@@ -32,26 +33,6 @@ class LibraryStore {
|
|
|
32
33
|
default: {},
|
|
33
34
|
email: {},
|
|
34
35
|
},
|
|
35
|
-
chat: {},
|
|
36
|
-
chatButton: {},
|
|
37
|
-
chatLoadingIndicator: {},
|
|
38
|
-
chatAttachmentContext: {},
|
|
39
|
-
chatInspirationResultMessage: {},
|
|
40
|
-
chatMessageText: {},
|
|
41
|
-
chatMessageUser: {},
|
|
42
|
-
chatProductComparisonMessage: {},
|
|
43
|
-
chatProductQueryMessage: {},
|
|
44
|
-
chatResult: {},
|
|
45
|
-
chatResultsDisplay: {},
|
|
46
|
-
chatSuggestedQuestions: {},
|
|
47
|
-
chatComparisonsTray: {},
|
|
48
|
-
chatComposer: {},
|
|
49
|
-
chatFacetsBar: {},
|
|
50
|
-
chatHistory: {},
|
|
51
|
-
chatMessages: {},
|
|
52
|
-
chatSessionFeedback: {},
|
|
53
|
-
chatSideChat: {},
|
|
54
|
-
chatTopicDrift: {},
|
|
55
36
|
badge: {},
|
|
56
37
|
result: {},
|
|
57
38
|
overlayResult: {},
|
|
@@ -153,6 +134,7 @@ class LibraryStore {
|
|
|
153
134
|
mutateResults: pluginMutateResults_1.pluginMutateResults,
|
|
154
135
|
addToCart: pluginAddToCart_1.pluginAddToCart,
|
|
155
136
|
markets: pluginMarkets_1.pluginMarkets,
|
|
137
|
+
currency: pluginCurrency_1.pluginCurrency,
|
|
156
138
|
},
|
|
157
139
|
bigcommerce: {
|
|
158
140
|
backgroundFilters: pluginBackgroundFilters_2.pluginBackgroundFilters,
|
|
@@ -245,33 +227,6 @@ class LibraryStore {
|
|
|
245
227
|
},
|
|
246
228
|
},
|
|
247
229
|
},
|
|
248
|
-
chat: {
|
|
249
|
-
Chat: async () => {
|
|
250
|
-
return this.components.chat.Chat || (this.components.chat.Chat = (await import('./library/components/Chat')).Chat);
|
|
251
|
-
},
|
|
252
|
-
ChatButton: async () => {
|
|
253
|
-
return this.components.chat.ChatButton || (this.components.chat.ChatButton = (await import('./library/components/ChatButton')).ChatButton);
|
|
254
|
-
},
|
|
255
|
-
},
|
|
256
|
-
chatButton: {},
|
|
257
|
-
chatLoadingIndicator: {},
|
|
258
|
-
chatAttachmentContext: {},
|
|
259
|
-
chatInspirationResultMessage: {},
|
|
260
|
-
chatMessageText: {},
|
|
261
|
-
chatMessageUser: {},
|
|
262
|
-
chatProductComparisonMessage: {},
|
|
263
|
-
chatProductQueryMessage: {},
|
|
264
|
-
chatResult: {},
|
|
265
|
-
chatResultsDisplay: {},
|
|
266
|
-
chatSuggestedQuestions: {},
|
|
267
|
-
chatComparisonsTray: {},
|
|
268
|
-
chatComposer: {},
|
|
269
|
-
chatFacetsBar: {},
|
|
270
|
-
chatHistory: {},
|
|
271
|
-
chatMessages: {},
|
|
272
|
-
chatSessionFeedback: {},
|
|
273
|
-
chatSideChat: {},
|
|
274
|
-
chatTopicDrift: {},
|
|
275
230
|
badge: {},
|
|
276
231
|
result: {
|
|
277
232
|
Result: async () => {
|
|
@@ -446,10 +401,7 @@ class LibraryStore {
|
|
|
446
401
|
async addComponentImport(type, name, componentFn) {
|
|
447
402
|
// only allow certain types based on unlocked status
|
|
448
403
|
if (this.allowedComponentTypes.includes(type) && this.components[type]) {
|
|
449
|
-
|
|
450
|
-
// literal-checked; custom overrides register by arbitrary name, hence the cast
|
|
451
|
-
const componentImports = this.import.component[type];
|
|
452
|
-
componentImports[name] = async () => {
|
|
404
|
+
this.import.component[type][name] = async () => {
|
|
453
405
|
return (this.components[type][name] ||
|
|
454
406
|
(this.components[type][name] = await (0, CustomComponent_1.CustomComponent)({
|
|
455
407
|
type,
|
|
@@ -1,13 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.TemplatesStore = exports.TEMPLATE_STORE_KEY = void 0;
|
|
7
|
+
exports.resolveCurrencyOverridesTheme = resolveCurrencyOverridesTheme;
|
|
8
|
+
exports.withCurrencyCode = withCurrencyCode;
|
|
4
9
|
exports.transformTranslationsToTheme = transformTranslationsToTheme;
|
|
10
|
+
exports.resolveTranslationsOverridesTheme = resolveTranslationsOverridesTheme;
|
|
11
|
+
const deepmerge_1 = __importDefault(require("deepmerge"));
|
|
5
12
|
const mobx_1 = require("mobx");
|
|
6
13
|
const snap_toolbox_1 = require("@athoscommerce/snap-toolbox");
|
|
7
14
|
const ThemeStore_1 = require("./ThemeStore");
|
|
8
15
|
const TargetStore_1 = require("./TargetStore");
|
|
9
16
|
const TabManagerStore_1 = require("./TabManagerStore");
|
|
10
17
|
const LibraryStore_1 = require("./LibraryStore");
|
|
18
|
+
const snap_toolbox_2 = require("@athoscommerce/snap-toolbox");
|
|
11
19
|
const RESIZE_DEBOUNCE = 100;
|
|
12
20
|
exports.TEMPLATE_STORE_KEY = 'athos-templates';
|
|
13
21
|
class TemplatesStore {
|
|
@@ -26,7 +34,6 @@ class TemplatesStore {
|
|
|
26
34
|
this.targets = {
|
|
27
35
|
search: [],
|
|
28
36
|
autocomplete: [],
|
|
29
|
-
chat: [],
|
|
30
37
|
recommendation: {
|
|
31
38
|
bundle: [],
|
|
32
39
|
default: [],
|
|
@@ -60,7 +67,7 @@ class TemplatesStore {
|
|
|
60
67
|
// configure window properties and add event listeners
|
|
61
68
|
if (window) {
|
|
62
69
|
this.setInnerWidth(window.innerWidth);
|
|
63
|
-
const debouncedHandleResize = (0,
|
|
70
|
+
const debouncedHandleResize = (0, snap_toolbox_2.debounce)(() => {
|
|
64
71
|
this.setInnerWidth(window.innerWidth);
|
|
65
72
|
}, RESIZE_DEBOUNCE);
|
|
66
73
|
window.addEventListener('resize', debouncedHandleResize);
|
|
@@ -79,9 +86,10 @@ class TemplatesStore {
|
|
|
79
86
|
const base = this.library.themes[themeConfiguration.extends];
|
|
80
87
|
const overrides = themeConfiguration.overrides || {};
|
|
81
88
|
const variables = themeConfiguration.variables || {};
|
|
82
|
-
const currency = this.library.locales.currencies[this.currency] || {};
|
|
89
|
+
const currency = withCurrencyCode(this.currency, this.library.locales.currencies[this.currency] || {});
|
|
90
|
+
const currencyOverrides = resolveCurrencyOverridesTheme(this.config.currencies, this.currency);
|
|
83
91
|
const language = this.library.locales.languages[this.language] || {};
|
|
84
|
-
const languageOverrides =
|
|
92
|
+
const languageOverrides = resolveTranslationsOverridesTheme(this.config.translations, this.language);
|
|
85
93
|
const translatedOverrides = {
|
|
86
94
|
components: overrides.default,
|
|
87
95
|
responsive: {
|
|
@@ -98,6 +106,7 @@ class TemplatesStore {
|
|
|
98
106
|
overrides: translatedOverrides,
|
|
99
107
|
variables,
|
|
100
108
|
currency,
|
|
109
|
+
currencyOverrides,
|
|
101
110
|
language,
|
|
102
111
|
languageOverrides,
|
|
103
112
|
innerWidth: this.window.innerWidth,
|
|
@@ -189,13 +198,15 @@ class TemplatesStore {
|
|
|
189
198
|
if (currency) {
|
|
190
199
|
this.currency = code;
|
|
191
200
|
this.storage.set('overrides.config.currency', this.currency);
|
|
201
|
+
const currencyLayer = withCurrencyCode(code, currency);
|
|
202
|
+
const currencyOverrides = resolveCurrencyOverridesTheme(this.config.currencies, code);
|
|
192
203
|
for (const themeName in this.themes.local) {
|
|
193
204
|
const theme = this.themes.local[themeName];
|
|
194
|
-
theme.setCurrency(
|
|
205
|
+
theme.setCurrency(currencyLayer, currencyOverrides);
|
|
195
206
|
}
|
|
196
207
|
for (const themeName in this.themes.library) {
|
|
197
208
|
const theme = this.themes.library[themeName];
|
|
198
|
-
theme.setCurrency(
|
|
209
|
+
theme.setCurrency(currencyLayer, currencyOverrides);
|
|
199
210
|
}
|
|
200
211
|
}
|
|
201
212
|
}
|
|
@@ -211,13 +222,14 @@ class TemplatesStore {
|
|
|
211
222
|
if (language) {
|
|
212
223
|
this.language = code;
|
|
213
224
|
this.storage.set('overrides.config.language', this.language);
|
|
225
|
+
const languageOverrides = resolveTranslationsOverridesTheme(this.config.translations, code);
|
|
214
226
|
for (const themeName in this.themes.local) {
|
|
215
227
|
const theme = this.themes.local[themeName];
|
|
216
|
-
theme.setLanguage(language);
|
|
228
|
+
theme.setLanguage(language, languageOverrides);
|
|
217
229
|
}
|
|
218
230
|
for (const themeName in this.themes.library) {
|
|
219
231
|
const theme = this.themes.library[themeName];
|
|
220
|
-
theme.setLanguage(language);
|
|
232
|
+
theme.setLanguage(language, languageOverrides);
|
|
221
233
|
}
|
|
222
234
|
}
|
|
223
235
|
}
|
|
@@ -238,8 +250,9 @@ class TemplatesStore {
|
|
|
238
250
|
type: 'library',
|
|
239
251
|
base: theme,
|
|
240
252
|
language: this.library.locales.languages[this.language] || {},
|
|
241
|
-
languageOverrides:
|
|
242
|
-
currency: this.library.locales.currencies[this.currency] || {},
|
|
253
|
+
languageOverrides: resolveTranslationsOverridesTheme(this.config.translations, this.language),
|
|
254
|
+
currency: withCurrencyCode(this.currency, this.library.locales.currencies[this.currency] || {}),
|
|
255
|
+
currencyOverrides: resolveCurrencyOverridesTheme(this.config.currencies, this.currency),
|
|
243
256
|
innerWidth: this.window.innerWidth,
|
|
244
257
|
};
|
|
245
258
|
if (this.settings.editMode) {
|
|
@@ -257,11 +270,23 @@ function getTargetArray(targets, type) {
|
|
|
257
270
|
if (category === 'recommendation' && subcategory) {
|
|
258
271
|
return targets.recommendation[subcategory];
|
|
259
272
|
}
|
|
260
|
-
if (category === 'search' || category === 'autocomplete'
|
|
273
|
+
if (category === 'search' || category === 'autocomplete') {
|
|
261
274
|
return targets[category];
|
|
262
275
|
}
|
|
263
276
|
return undefined;
|
|
264
277
|
}
|
|
278
|
+
/*
|
|
279
|
+
Resolves the configured component overrides for a currency into a theme layer.
|
|
280
|
+
*/
|
|
281
|
+
function resolveCurrencyOverridesTheme(currencies, code) {
|
|
282
|
+
const overrides = currencies?.[code] || currencies?.[code.toUpperCase()];
|
|
283
|
+
return overrides ? { components: overrides } : {};
|
|
284
|
+
}
|
|
285
|
+
// the ISO code is not stored in the locale data - it is derived from the active currency so the `Price`
|
|
286
|
+
// component can render it after the amount when `showCode` is enabled
|
|
287
|
+
function withCurrencyCode(code, currency) {
|
|
288
|
+
return (0, deepmerge_1.default)(currency, { components: { price: { code: code.toUpperCase() } } });
|
|
289
|
+
}
|
|
265
290
|
function transformTranslationsToTheme(translations) {
|
|
266
291
|
const components = {};
|
|
267
292
|
Object.keys(translations).forEach((component) => {
|
|
@@ -274,6 +299,10 @@ function transformTranslationsToTheme(translations) {
|
|
|
274
299
|
components,
|
|
275
300
|
};
|
|
276
301
|
}
|
|
302
|
+
function resolveTranslationsOverridesTheme(translations, code) {
|
|
303
|
+
const overrides = translations?.[code] || translations?.[code.toUpperCase()];
|
|
304
|
+
return transformTranslationsToTheme(overrides || {});
|
|
305
|
+
}
|
|
277
306
|
class Deferred {
|
|
278
307
|
constructor() {
|
|
279
308
|
this.promise = new Promise((resolve, reject) => {
|