@athoscommerce/snap-preact 1.2.3-beta.4 → 1.2.3-beta.5
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/README.md +16 -0
- package/dist/cjs/components/src/components/Atoms/TemplateSelect/TemplateSelect.d.ts +3 -3
- package/dist/cjs/components/src/components/Atoms/TemplateSelect/TemplateSelect.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Atoms/TemplateSelect/TemplateSelect.js +7 -8
- package/dist/cjs/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.d.ts +1 -1
- package/dist/cjs/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.js +3 -3
- package/dist/cjs/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.d.ts +2 -0
- package/dist/cjs/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.js +24 -25
- package/dist/cjs/components/src/components/Molecules/Filter/Filter.d.ts +1 -1
- package/dist/cjs/components/src/components/Molecules/Filter/Filter.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Molecules/Result/Result.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Molecules/Result/Result.js +11 -6
- package/dist/cjs/components/src/components/Molecules/SearchInput/SearchInput.d.ts +4 -1
- package/dist/cjs/components/src/components/Molecules/SearchInput/SearchInput.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Molecules/SearchInput/SearchInput.js +3 -3
- package/dist/cjs/components/src/components/Molecules/TemplatesEditor/Components/AbstractedControls.js +5 -5
- package/dist/cjs/components/src/components/Molecules/TemplatesEditor/Components/Control.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Molecules/TemplatesEditor/Components/Control.js +31 -31
- package/dist/cjs/components/src/components/Molecules/TemplatesEditor/TemplatesEditor.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Molecules/TemplatesEditor/TemplatesEditor.js +22 -36
- package/dist/cjs/components/src/components/Organisms/Chat/Chat.d.ts +7 -0
- package/dist/cjs/components/src/components/Organisms/Chat/Chat.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Organisms/Chat/Chat.js +638 -431
- package/dist/cjs/components/src/components/Organisms/Chat/ChatResult.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Organisms/Chat/ChatResult.js +4 -3
- package/dist/cjs/components/src/components/Organisms/Chat/MessageText.d.ts +3 -1
- package/dist/cjs/components/src/components/Organisms/Chat/MessageText.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Organisms/Chat/MessageText.js +22 -19
- package/dist/cjs/components/src/components/Organisms/Chat/MessageUser.d.ts +3 -1
- package/dist/cjs/components/src/components/Organisms/Chat/MessageUser.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Organisms/Chat/MessageUser.js +39 -21
- package/dist/cjs/components/src/components/Organisms/Chat/ResultsDisplay.d.ts +1 -1
- package/dist/cjs/components/src/components/Organisms/Chat/ResultsDisplay.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Organisms/Chat/ResultsDisplay.js +7 -11
- package/dist/cjs/components/src/components/Organisms/FilterSummary/FilterSummary.d.ts +2 -2
- package/dist/cjs/components/src/components/Organisms/FilterSummary/FilterSummary.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Organisms/ProductQuickView/ProductQuickView.d.ts +11 -0
- package/dist/cjs/components/src/components/Organisms/ProductQuickView/ProductQuickView.d.ts.map +1 -0
- package/dist/cjs/components/src/components/Organisms/ProductQuickView/ProductQuickView.js +461 -0
- package/dist/cjs/components/src/components/Organisms/ProductQuickView/index.d.ts +2 -0
- package/dist/cjs/components/src/components/Organisms/ProductQuickView/index.d.ts.map +1 -0
- package/dist/cjs/components/src/components/Organisms/ProductQuickView/index.js +17 -0
- package/dist/cjs/components/src/components/Templates/AutocompleteModal/AutocompleteModal.d.ts.map +1 -1
- package/dist/cjs/components/src/components/Templates/AutocompleteModal/AutocompleteModal.js +0 -2
- package/dist/cjs/components/src/hooks/useAcRenderedInput.d.ts.map +1 -1
- package/dist/cjs/components/src/hooks/useAcRenderedInput.js +65 -15
- package/dist/cjs/components/src/hooks/useMediaQuery.d.ts.map +1 -1
- package/dist/cjs/components/src/hooks/useMediaQuery.js +3 -1
- package/dist/cjs/components/src/index.d.ts +1 -0
- package/dist/cjs/components/src/index.d.ts.map +1 -1
- package/dist/cjs/components/src/index.js +1 -0
- package/dist/cjs/components/src/providers/theme.d.ts +1 -1
- package/dist/cjs/components/src/providers/theme.d.ts.map +1 -1
- package/dist/cjs/components/src/themes/base/base.js +3 -3
- package/dist/cjs/components/src/utilities/Colour/Colour.d.ts +11 -0
- package/dist/cjs/components/src/utilities/Colour/Colour.d.ts.map +1 -1
- package/dist/cjs/components/src/utilities/Colour/Colour.js +32 -0
- package/dist/cjs/src/Instantiators/RecommendationInstantiator.d.ts +1 -0
- package/dist/cjs/src/Instantiators/RecommendationInstantiator.d.ts.map +1 -1
- package/dist/cjs/src/Instantiators/RecommendationInstantiator.js +161 -123
- package/dist/cjs/src/Snap.d.ts +1 -1
- package/dist/cjs/src/Snap.d.ts.map +1 -1
- package/dist/cjs/src/Snap.js +18 -6
- package/dist/cjs/src/SnapHybrid.d.ts.map +1 -1
- package/dist/cjs/src/Templates/SnapTemplates.d.ts +13 -72
- package/dist/cjs/src/Templates/SnapTemplates.d.ts.map +1 -1
- package/dist/cjs/src/Templates/SnapTemplates.js +123 -72
- package/dist/cjs/src/Templates/Stores/TargetStore.d.ts +7 -6
- package/dist/cjs/src/Templates/Stores/TargetStore.d.ts.map +1 -1
- package/dist/cjs/src/Templates/Stores/TargetStore.js +14 -8
- package/dist/cjs/src/Templates/Stores/TemplateEditor/TemplateEditorStore.d.ts +58 -8
- package/dist/cjs/src/Templates/Stores/TemplateEditor/TemplateEditorStore.d.ts.map +1 -1
- package/dist/cjs/src/Templates/Stores/TemplateEditor/TemplateEditorStore.js +467 -96
- package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/autocompleteControllerUI.d.ts +1 -0
- package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/autocompleteControllerUI.d.ts.map +1 -1
- package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/autocompleteControllerUI.js +123 -70
- package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/configUI.d.ts.map +1 -1
- package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/configUI.js +9 -3
- package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/searchControllerUI.d.ts +1 -0
- package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/searchControllerUI.d.ts.map +1 -1
- package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/searchControllerUI.js +86 -1
- package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/themeUI.d.ts.map +1 -1
- package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/themeUI.js +33 -14
- package/dist/cjs/src/Templates/Stores/TemplateStore.d.ts +93 -30
- package/dist/cjs/src/Templates/Stores/TemplateStore.d.ts.map +1 -1
- package/dist/cjs/src/Templates/Stores/TemplateStore.js +33 -41
- package/dist/cjs/src/Templates/Stores/ThemeStore.d.ts +2 -8
- package/dist/cjs/src/Templates/Stores/ThemeStore.d.ts.map +1 -1
- package/dist/cjs/src/Templates/Stores/ThemeStore.js +3 -28
- package/dist/cjs/src/Templates/index.d.ts +1 -1
- package/dist/cjs/src/Templates/index.d.ts.map +1 -1
- package/dist/cjs/src/create/createChatController.js +1 -1
- package/dist/cjs/src/index.d.ts +1 -0
- package/dist/cjs/src/index.d.ts.map +1 -1
- package/dist/cjs/src/setupEvents.d.ts +13 -0
- package/dist/cjs/src/setupEvents.d.ts.map +1 -1
- package/dist/cjs/src/setupEvents.js +56 -8
- package/dist/cjs/src/types.d.ts +3 -1
- package/dist/cjs/src/types.d.ts.map +1 -1
- package/dist/cjs/src/utils/combineMerge.d.ts +2 -0
- package/dist/cjs/src/utils/combineMerge.d.ts.map +1 -0
- package/dist/cjs/src/utils/combineMerge.js +22 -0
- package/dist/cjs/src/utils/index.d.ts +1 -0
- package/dist/cjs/src/utils/index.d.ts.map +1 -1
- package/dist/cjs/src/utils/index.js +3 -1
- package/dist/esm/components/src/components/Atoms/TemplateSelect/TemplateSelect.d.ts +3 -3
- package/dist/esm/components/src/components/Atoms/TemplateSelect/TemplateSelect.d.ts.map +1 -1
- package/dist/esm/components/src/components/Atoms/TemplateSelect/TemplateSelect.js +7 -8
- package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.d.ts +1 -1
- package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.js +3 -3
- package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.d.ts +2 -0
- package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.js +24 -26
- package/dist/esm/components/src/components/Molecules/Filter/Filter.d.ts +1 -1
- package/dist/esm/components/src/components/Molecules/Filter/Filter.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/Result/Result.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/Result/Result.js +9 -4
- package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.d.ts +4 -1
- package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.js +3 -3
- package/dist/esm/components/src/components/Molecules/TemplatesEditor/Components/AbstractedControls.js +5 -5
- package/dist/esm/components/src/components/Molecules/TemplatesEditor/Components/Control.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/TemplatesEditor/Components/Control.js +29 -29
- package/dist/esm/components/src/components/Molecules/TemplatesEditor/TemplatesEditor.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/TemplatesEditor/TemplatesEditor.js +22 -35
- package/dist/esm/components/src/components/Organisms/Chat/Chat.d.ts +7 -0
- package/dist/esm/components/src/components/Organisms/Chat/Chat.d.ts.map +1 -1
- package/dist/esm/components/src/components/Organisms/Chat/Chat.js +557 -359
- package/dist/esm/components/src/components/Organisms/Chat/ChatResult.d.ts.map +1 -1
- package/dist/esm/components/src/components/Organisms/Chat/ChatResult.js +4 -3
- package/dist/esm/components/src/components/Organisms/Chat/MessageText.d.ts +3 -1
- package/dist/esm/components/src/components/Organisms/Chat/MessageText.d.ts.map +1 -1
- package/dist/esm/components/src/components/Organisms/Chat/MessageText.js +21 -19
- package/dist/esm/components/src/components/Organisms/Chat/MessageUser.d.ts +3 -1
- package/dist/esm/components/src/components/Organisms/Chat/MessageUser.d.ts.map +1 -1
- package/dist/esm/components/src/components/Organisms/Chat/MessageUser.js +36 -21
- package/dist/esm/components/src/components/Organisms/Chat/ResultsDisplay.d.ts +1 -1
- package/dist/esm/components/src/components/Organisms/Chat/ResultsDisplay.d.ts.map +1 -1
- package/dist/esm/components/src/components/Organisms/Chat/ResultsDisplay.js +7 -11
- package/dist/esm/components/src/components/Organisms/FilterSummary/FilterSummary.d.ts +2 -2
- package/dist/esm/components/src/components/Organisms/FilterSummary/FilterSummary.d.ts.map +1 -1
- package/dist/esm/components/src/components/Organisms/ProductQuickView/ProductQuickView.d.ts +11 -0
- package/dist/esm/components/src/components/Organisms/ProductQuickView/ProductQuickView.d.ts.map +1 -0
- package/dist/esm/components/src/components/Organisms/ProductQuickView/ProductQuickView.js +436 -0
- package/dist/esm/components/src/components/Organisms/ProductQuickView/index.d.ts +2 -0
- package/dist/esm/components/src/components/Organisms/ProductQuickView/index.d.ts.map +1 -0
- package/dist/esm/components/src/components/Organisms/ProductQuickView/index.js +1 -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 +0 -2
- package/dist/esm/components/src/hooks/useAcRenderedInput.d.ts.map +1 -1
- package/dist/esm/components/src/hooks/useAcRenderedInput.js +61 -11
- package/dist/esm/components/src/hooks/useMediaQuery.d.ts.map +1 -1
- package/dist/esm/components/src/hooks/useMediaQuery.js +3 -1
- package/dist/esm/components/src/index.d.ts +1 -0
- package/dist/esm/components/src/index.d.ts.map +1 -1
- package/dist/esm/components/src/index.js +1 -0
- package/dist/esm/components/src/providers/theme.d.ts +1 -1
- package/dist/esm/components/src/providers/theme.d.ts.map +1 -1
- package/dist/esm/components/src/themes/base/base.js +3 -3
- package/dist/esm/components/src/utilities/Colour/Colour.d.ts +11 -0
- package/dist/esm/components/src/utilities/Colour/Colour.d.ts.map +1 -1
- package/dist/esm/components/src/utilities/Colour/Colour.js +30 -0
- package/dist/esm/src/Instantiators/RecommendationInstantiator.d.ts +1 -0
- package/dist/esm/src/Instantiators/RecommendationInstantiator.d.ts.map +1 -1
- package/dist/esm/src/Instantiators/RecommendationInstantiator.js +130 -84
- package/dist/esm/src/Snap.d.ts +1 -1
- package/dist/esm/src/Snap.d.ts.map +1 -1
- package/dist/esm/src/Snap.js +21 -6
- package/dist/esm/src/SnapHybrid.d.ts.map +1 -1
- package/dist/esm/src/Templates/SnapTemplates.d.ts +13 -72
- package/dist/esm/src/Templates/SnapTemplates.d.ts.map +1 -1
- package/dist/esm/src/Templates/SnapTemplates.js +137 -78
- package/dist/esm/src/Templates/Stores/TargetStore.d.ts +7 -6
- package/dist/esm/src/Templates/Stores/TargetStore.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/TargetStore.js +14 -8
- package/dist/esm/src/Templates/Stores/TemplateEditor/TemplateEditorStore.d.ts +58 -8
- package/dist/esm/src/Templates/Stores/TemplateEditor/TemplateEditorStore.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/TemplateEditor/TemplateEditorStore.js +447 -89
- package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/autocompleteControllerUI.d.ts +1 -0
- package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/autocompleteControllerUI.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/autocompleteControllerUI.js +118 -66
- package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/configUI.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/configUI.js +9 -3
- package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/searchControllerUI.d.ts +1 -0
- package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/searchControllerUI.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/searchControllerUI.js +82 -1
- package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/themeUI.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/themeUI.js +27 -8
- package/dist/esm/src/Templates/Stores/TemplateStore.d.ts +93 -30
- package/dist/esm/src/Templates/Stores/TemplateStore.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/TemplateStore.js +29 -38
- package/dist/esm/src/Templates/Stores/ThemeStore.d.ts +2 -8
- package/dist/esm/src/Templates/Stores/ThemeStore.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/ThemeStore.js +3 -26
- package/dist/esm/src/Templates/index.d.ts +1 -1
- package/dist/esm/src/Templates/index.d.ts.map +1 -1
- package/dist/esm/src/create/createChatController.js +1 -1
- package/dist/esm/src/index.d.ts +1 -0
- package/dist/esm/src/index.d.ts.map +1 -1
- package/dist/esm/src/setupEvents.d.ts +13 -0
- package/dist/esm/src/setupEvents.d.ts.map +1 -1
- package/dist/esm/src/setupEvents.js +25 -8
- package/dist/esm/src/types.d.ts +3 -1
- package/dist/esm/src/types.d.ts.map +1 -1
- package/dist/esm/src/utils/combineMerge.d.ts +2 -0
- package/dist/esm/src/utils/combineMerge.d.ts.map +1 -0
- package/dist/esm/src/utils/combineMerge.js +16 -0
- package/dist/esm/src/utils/index.d.ts +1 -0
- package/dist/esm/src/utils/index.d.ts.map +1 -1
- package/dist/esm/src/utils/index.js +1 -0
- package/package.json +20 -14
|
@@ -55,6 +55,7 @@ export * from './components/Organisms/FacetsHorizontal';
|
|
|
55
55
|
export * from './components/Organisms/FilterSummary';
|
|
56
56
|
export * from './components/Organisms/MobileSidebar';
|
|
57
57
|
export * from './components/Organisms/NoResults';
|
|
58
|
+
export * from './components/Organisms/ProductQuickView';
|
|
58
59
|
export * from './components/Organisms/Results';
|
|
59
60
|
export * from './components/Organisms/Sidebar';
|
|
60
61
|
export * from './components/Organisms/Toolbar';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/src/index.ts"],"names":[],"mappings":"AACA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oCAAoC,CAAC;AACnD,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAG5C,cAAc,qCAAqC,CAAC;AACpD,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,yCAAyC,CAAC;AACxD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,yCAAyC,CAAC;AACxD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,oCAAoC,CAAC;AAEnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uCAAuC,CAAC;AACtD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wCAAwC,CAAC;AACvD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,yCAAyC,CAAC;AACxD,cAAc,8BAA8B,CAAC;AAG7C,cAAc,uCAAuC,CAAC;AACtD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yCAAyC,CAAC;AACxD,cAAc,sCAAsC,CAAC;AACrD,cAAc,sCAAsC,CAAC;AACrD,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qCAAqC,CAAC;AACpD,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAG5C,cAAc,uCAAuC,CAAC;AACtD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,oDAAoD,CAAC;AACnE,cAAc,iDAAiD,CAAC;AAChE,cAAc,qDAAqD,CAAC;AACpE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yCAAyC,CAAC;AACxD,cAAc,0CAA0C,CAAC;AAGzD,cAAc,SAAS,CAAC;AAGxB,cAAc,qDAAqD,CAAC;AACpE,cAAc,qCAAqC,CAAC;AACpD,OAAO,EACN,aAAa,IAAI,2BAA2B,EAC5C,kBAAkB,IAAI,gCAAgC,GACtD,MAAM,qCAAqC,CAAC;AAG7C,cAAc,SAAS,CAAC;AAGxB,cAAc,aAAa,CAAC;AAG5B,cAAc,WAAW,CAAC;AAG1B,cAAc,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/src/index.ts"],"names":[],"mappings":"AACA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oCAAoC,CAAC;AACnD,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAG5C,cAAc,qCAAqC,CAAC;AACpD,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,yCAAyC,CAAC;AACxD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,yCAAyC,CAAC;AACxD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,oCAAoC,CAAC;AAEnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uCAAuC,CAAC;AACtD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wCAAwC,CAAC;AACvD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,yCAAyC,CAAC;AACxD,cAAc,8BAA8B,CAAC;AAG7C,cAAc,uCAAuC,CAAC;AACtD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yCAAyC,CAAC;AACxD,cAAc,sCAAsC,CAAC;AACrD,cAAc,sCAAsC,CAAC;AACrD,cAAc,kCAAkC,CAAC;AACjD,cAAc,yCAAyC,CAAC;AACxD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qCAAqC,CAAC;AACpD,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAG5C,cAAc,uCAAuC,CAAC;AACtD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,oDAAoD,CAAC;AACnE,cAAc,iDAAiD,CAAC;AAChE,cAAc,qDAAqD,CAAC;AACpE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yCAAyC,CAAC;AACxD,cAAc,0CAA0C,CAAC;AAGzD,cAAc,SAAS,CAAC;AAGxB,cAAc,qDAAqD,CAAC;AACpE,cAAc,qCAAqC,CAAC;AACpD,OAAO,EACN,aAAa,IAAI,2BAA2B,EAC5C,kBAAkB,IAAI,gCAAgC,GACtD,MAAM,qCAAqC,CAAC;AAG7C,cAAc,SAAS,CAAC;AAGxB,cAAc,aAAa,CAAC;AAG5B,cAAc,WAAW,CAAC;AAG1B,cAAc,UAAU,CAAC"}
|
|
@@ -76,6 +76,7 @@ __exportStar(require("./components/Organisms/FacetsHorizontal"), exports);
|
|
|
76
76
|
__exportStar(require("./components/Organisms/FilterSummary"), exports);
|
|
77
77
|
__exportStar(require("./components/Organisms/MobileSidebar"), exports);
|
|
78
78
|
__exportStar(require("./components/Organisms/NoResults"), exports);
|
|
79
|
+
__exportStar(require("./components/Organisms/ProductQuickView"), exports);
|
|
79
80
|
__exportStar(require("./components/Organisms/Results"), exports);
|
|
80
81
|
__exportStar(require("./components/Organisms/Sidebar"), exports);
|
|
81
82
|
__exportStar(require("./components/Organisms/Toolbar"), exports);
|
|
@@ -53,7 +53,7 @@ export type ThemeResponsiveComplete = ThemeResponsive & {
|
|
|
53
53
|
default?: ThemeComponentsRestricted;
|
|
54
54
|
};
|
|
55
55
|
type WithCustomComponent<T> = {
|
|
56
|
-
[K in keyof T]: T[K] & {
|
|
56
|
+
[K in keyof T]: [unknown] extends [T[K]] ? T[K] : T[K] & {
|
|
57
57
|
customComponent?: string;
|
|
58
58
|
};
|
|
59
59
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../../../components/src/providers/theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AAChH,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEzE,eAAO,MAAM,YAAY,EAAE,KAc1B,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CAChB,CAAC;AACF,KAAK,mBAAmB,GAAG;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC5B,WAAW,EAAE,wBAAwB,CAAC;IACtC,MAAM,EAAE,mBAAmB,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IACnC,WAAW,CAAC,EAAE,wBAAwB,CAAC;IACvC,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,MAAM,CAAC,EAAE;QACR,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACnB,CAAC;CACF,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG;IAAE,SAAS,CAAC,EAAE,YAAY,CAAA;CAAE,CAAC;AAE7F,MAAM,MAAM,KAAK,GAAG;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,gBAAgB,CAAC,EAAE,cAAc,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,QAAQ,SAAS,MAAM,EAAE,KAAK,SAAS,UAAU,EAAE,UAAU,IAAI;IAC3F,OAAO,CAAC,EAAE,+BAA+B,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IACvE,MAAM,CAAC,EAAE,+BAA+B,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IACtE,MAAM,CAAC,EAAE,+BAA+B,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IACtE,OAAO,CAAC,EAAE,+BAA+B,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;CACvE,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,GAAG,kBAAkB,GAAG,YAAY,CAAC,CAAC,GAAG;IAAE,UAAU,EAAE,yBAAyB,CAAA;CAAE,CAAC;AAE/I,MAAM,MAAM,eAAe,GAAG;IAC7B,MAAM,CAAC,EAAE,yBAAyB,CAAC;IACnC,MAAM,CAAC,EAAE,yBAAyB,CAAC;IACnC,OAAO,CAAC,EAAE,yBAAyB,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,eAAe,GAAG;IAAE,OAAO,CAAC,EAAE,yBAAyB,CAAA;CAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../../../components/src/providers/theme.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,11 +12,22 @@ export declare class Colour {
|
|
|
12
12
|
opacity(offset: number): Colour;
|
|
13
13
|
transparency(offset: number): Colour;
|
|
14
14
|
opaque(offset: number): Colour;
|
|
15
|
+
/** Returns a hex string mixed linearly toward black. `amount` (0-1) is the proportion
|
|
16
|
+
* of black in the result — 0.9 yields a near-black with a slight tint of the original.
|
|
17
|
+
* Uses linear RGB mixing so light inputs reliably produce darker outputs. */
|
|
18
|
+
darkenHex(amount?: number): string;
|
|
19
|
+
/** Returns a hex string mixed linearly toward white. `amount` (0-1) is the proportion
|
|
20
|
+
* of white in the result — 0.9 yields a near-white with a slight tint of the original.
|
|
21
|
+
* Uses linear RGB mixing so dark inputs reliably produce paler outputs. */
|
|
22
|
+
lightenHex(amount?: number): string;
|
|
15
23
|
static isRgb(color: string): boolean;
|
|
16
24
|
static isHex(color: string): boolean;
|
|
17
25
|
static hexToRgb(hex: string): string;
|
|
18
26
|
static rgbToHex(rgb: string): string;
|
|
19
27
|
static opacity(color: string | undefined, offset: number): string | undefined;
|
|
28
|
+
/** Linear RGB mix between two hex colors. `amount` (0-1) is the proportion of `towardHex`
|
|
29
|
+
* in the result. Returns the source `hex` unchanged when either input is invalid. */
|
|
30
|
+
static mixToward(hex: string | undefined, towardHex: string, amount: number): string;
|
|
20
31
|
static brightness(color: string | undefined, offset: number): string | undefined;
|
|
21
32
|
}
|
|
22
33
|
//# sourceMappingURL=Colour.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Colour.d.ts","sourceRoot":"","sources":["../../../../../../components/src/utilities/Colour/Colour.ts"],"names":[],"mappings":"AAqBA,qBAAa,MAAM;IAClB,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,QAAQ,CAAqB;IAErC,IAAW,GAAG,IAAI,MAAM,GAAG,SAAS,CAOnC;IAED,IAAW,GAAG,IAAI,MAAM,GAAG,SAAS,CAOnC;IAED,IAAW,QAAQ,IAAI,MAAM,GAAG,SAAS,CAoBxC;gBAEW,KAAK,EAAE,MAAM,GAAG,SAAS;IAuBrC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAI7B,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAK/B,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAK9B,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAI/B,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAKpC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAK9B,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAOpC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIpC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAgBpC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAoBpC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IA+B7E,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAoChF"}
|
|
1
|
+
{"version":3,"file":"Colour.d.ts","sourceRoot":"","sources":["../../../../../../components/src/utilities/Colour/Colour.ts"],"names":[],"mappings":"AAqBA,qBAAa,MAAM;IAClB,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,QAAQ,CAAqB;IAErC,IAAW,GAAG,IAAI,MAAM,GAAG,SAAS,CAOnC;IAED,IAAW,GAAG,IAAI,MAAM,GAAG,SAAS,CAOnC;IAED,IAAW,QAAQ,IAAI,MAAM,GAAG,SAAS,CAoBxC;gBAEW,KAAK,EAAE,MAAM,GAAG,SAAS;IAuBrC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAI7B,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAK/B,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAK9B,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAI/B,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAKpC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAK9B;;iFAE6E;IAC7E,SAAS,CAAC,MAAM,GAAE,MAAY,GAAG,MAAM;IAIvC;;+EAE2E;IAC3E,UAAU,CAAC,MAAM,GAAE,MAAY,GAAG,MAAM;IAIxC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAOpC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIpC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAgBpC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAoBpC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IA+B7E;yFACqF;IACrF,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAqBpF,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAoChF"}
|
|
@@ -114,6 +114,20 @@ var Colour = /** @class */ (function () {
|
|
|
114
114
|
return this;
|
|
115
115
|
return new Colour(Colour.opacity(this.hex, -offset));
|
|
116
116
|
};
|
|
117
|
+
/** Returns a hex string mixed linearly toward black. `amount` (0-1) is the proportion
|
|
118
|
+
* of black in the result — 0.9 yields a near-black with a slight tint of the original.
|
|
119
|
+
* Uses linear RGB mixing so light inputs reliably produce darker outputs. */
|
|
120
|
+
Colour.prototype.darkenHex = function (amount) {
|
|
121
|
+
if (amount === void 0) { amount = 0.3; }
|
|
122
|
+
return Colour.mixToward(this.hex, '#000000', amount);
|
|
123
|
+
};
|
|
124
|
+
/** Returns a hex string mixed linearly toward white. `amount` (0-1) is the proportion
|
|
125
|
+
* of white in the result — 0.9 yields a near-white with a slight tint of the original.
|
|
126
|
+
* Uses linear RGB mixing so dark inputs reliably produce paler outputs. */
|
|
127
|
+
Colour.prototype.lightenHex = function (amount) {
|
|
128
|
+
if (amount === void 0) { amount = 0.3; }
|
|
129
|
+
return Colour.mixToward(this.hex, '#ffffff', amount);
|
|
130
|
+
};
|
|
117
131
|
Colour.isRgb = function (color) {
|
|
118
132
|
return Boolean(color.match(/^rgba?\([0-9]{1,3}[\s,\,]+[0-9]{1,3}[\s,\,]+[0-9]{1,3}[\s,\,]*\)$/i) ||
|
|
119
133
|
color.match(/^rgba?\([0-9]{1,3}[\s,\,]+[0-9]{1,3}[\s,\,]+[0-9]{1,3}[\s,\,]+0?\.?[0-9]+%?[\s,\,]*\)$/i));
|
|
@@ -182,6 +196,24 @@ var Colour = /** @class */ (function () {
|
|
|
182
196
|
}
|
|
183
197
|
return hexValue;
|
|
184
198
|
};
|
|
199
|
+
/** Linear RGB mix between two hex colors. `amount` (0-1) is the proportion of `towardHex`
|
|
200
|
+
* in the result. Returns the source `hex` unchanged when either input is invalid. */
|
|
201
|
+
Colour.mixToward = function (hex, towardHex, amount) {
|
|
202
|
+
if (!hex || !Colour.isHex(hex) || !Colour.isHex(towardHex))
|
|
203
|
+
return hex || '';
|
|
204
|
+
var clamped = Math.max(0, Math.min(1, amount));
|
|
205
|
+
var sourceR = parseInt(hex.slice(1, 3), 16);
|
|
206
|
+
var sourceG = parseInt(hex.slice(3, 5), 16);
|
|
207
|
+
var sourceB = parseInt(hex.slice(5, 7), 16);
|
|
208
|
+
var targetR = parseInt(towardHex.slice(1, 3), 16);
|
|
209
|
+
var targetG = parseInt(towardHex.slice(3, 5), 16);
|
|
210
|
+
var targetB = parseInt(towardHex.slice(5, 7), 16);
|
|
211
|
+
var mix = function (s, t) { return Math.round(s * (1 - clamped) + t * clamped); };
|
|
212
|
+
var r = mix(sourceR, targetR).toString(16).padStart(2, '0');
|
|
213
|
+
var g = mix(sourceG, targetG).toString(16).padStart(2, '0');
|
|
214
|
+
var b = mix(sourceB, targetB).toString(16).padStart(2, '0');
|
|
215
|
+
return "#".concat(r).concat(g).concat(b);
|
|
216
|
+
};
|
|
185
217
|
Colour.brightness = function (color, offset) {
|
|
186
218
|
var isRgb = false;
|
|
187
219
|
if (color && Colour.isRgb(color)) {
|
|
@@ -69,6 +69,7 @@ export declare class RecommendationInstantiator {
|
|
|
69
69
|
plugin(func: (cntrlr: AbstractController, ...args: any) => void | Promise<void>, ...args: unknown[]): void;
|
|
70
70
|
on<T>(event: string, ...func: Middleware<T>[]): void;
|
|
71
71
|
use(attachments: Attachments): void;
|
|
72
|
+
cleanupStaleControllers(): void;
|
|
72
73
|
}
|
|
73
74
|
type DefinedProps = {
|
|
74
75
|
[key: string]: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecommendationInstantiator.d.ts","sourceRoot":"","sources":["../../../../src/Instantiators/RecommendationInstantiator.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAc,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAA2D,MAAM,4BAA4B,CAAC;AACvI,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,EACX,kBAAkB,EAClB,wBAAwB,EACxB,WAAW,EACX,gBAAgB,EAEhB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"RecommendationInstantiator.d.ts","sourceRoot":"","sources":["../../../../src/Instantiators/RecommendationInstantiator.tsx"],"names":[],"mappings":"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"}
|
|
@@ -10,29 +10,6 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
};
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
-
}
|
|
19
|
-
Object.defineProperty(o, k2, desc);
|
|
20
|
-
}) : (function(o, m, k, k2) {
|
|
21
|
-
if (k2 === undefined) k2 = k;
|
|
22
|
-
o[k2] = m[k];
|
|
23
|
-
}));
|
|
24
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
-
}) : function(o, v) {
|
|
27
|
-
o["default"] = v;
|
|
28
|
-
});
|
|
29
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
-
if (mod && mod.__esModule) return mod;
|
|
31
|
-
var result = {};
|
|
32
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
-
__setModuleDefault(result, mod);
|
|
34
|
-
return result;
|
|
35
|
-
};
|
|
36
13
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
37
14
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
38
15
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -91,6 +68,7 @@ var snap_toolbox_1 = require("@athoscommerce/snap-toolbox");
|
|
|
91
68
|
var snap_client_1 = require("@athoscommerce/snap-client");
|
|
92
69
|
var snap_logger_1 = require("@athoscommerce/snap-logger");
|
|
93
70
|
var snap_tracker_1 = require("@athoscommerce/snap-tracker");
|
|
71
|
+
var create_1 = require("../create");
|
|
94
72
|
var DEFAULT_BRANCH = 'production';
|
|
95
73
|
var RecommendationInstantiator = /** @class */ (function () {
|
|
96
74
|
function RecommendationInstantiator(config, services, context) {
|
|
@@ -128,33 +106,30 @@ var RecommendationInstantiator = /** @class */ (function () {
|
|
|
128
106
|
this.tracker = (services === null || services === void 0 ? void 0 : services.tracker) || new snap_tracker_1.Tracker(this.config.client.globals);
|
|
129
107
|
this.logger = (services === null || services === void 0 ? void 0 : services.logger) || new snap_logger_1.Logger({ prefix: 'RecommendationInstantiator ', mode: this.mode });
|
|
130
108
|
var profileCount = {};
|
|
109
|
+
// script block targeter for "grouped" and "legacy" blocks
|
|
131
110
|
this.targeter = new snap_toolbox_1.DomTargeter([
|
|
132
111
|
{
|
|
133
112
|
selector: "".concat(this.config.selector ||
|
|
134
113
|
'script[type="searchspring/recommend"], script[type="searchspring/personalized-recommendations"], script[type="athos/recommend"], script[type="athos/personalized-recommendations"]', ", script[type=\"searchspring/recommend\"][profile=\"email\"], script[type=\"athos/recommend\"][profile=\"email\"]"),
|
|
135
114
|
autoRetarget: true,
|
|
136
115
|
clickRetarget: true,
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
element: function (target, origElement) {
|
|
140
|
-
var profile = origElement.getAttribute('profile') || '';
|
|
141
|
-
var recsContainer = document.createElement('div');
|
|
142
|
-
recsContainer.setAttribute('searchspring-recommend', profile);
|
|
143
|
-
return recsContainer;
|
|
144
|
-
},
|
|
145
|
-
},
|
|
116
|
+
navigationRetarget: true,
|
|
117
|
+
emptyTarget: false,
|
|
146
118
|
},
|
|
147
119
|
{
|
|
148
120
|
selector: 'script[type="searchspring/recommendations"], script[type="athos/recommendations"]',
|
|
149
121
|
autoRetarget: true,
|
|
150
122
|
clickRetarget: true,
|
|
123
|
+
navigationRetarget: true,
|
|
151
124
|
emptyTarget: false,
|
|
152
125
|
},
|
|
153
|
-
], function (target, elem
|
|
154
|
-
var elemContext, scriptContextProfiles, scriptContextGlobals_1, requestGlobals_1,
|
|
126
|
+
], function (target, elem) { return __awaiter(_this, void 0, void 0, function () {
|
|
127
|
+
var scriptElement, elemContext, scriptContextProfiles, scriptContextGlobals_1, requestGlobals_1, profile, products, product, seed, filters, blockedItems, options, shopper, shopperId, combinedProducts, shopperIdentifier, profileRequestGlobals_1, profileAttr, recsContainer, legacyContext_1;
|
|
155
128
|
var _this = this;
|
|
156
129
|
var _a;
|
|
157
130
|
return __generator(this, function (_b) {
|
|
131
|
+
this.cleanupStaleControllers();
|
|
132
|
+
scriptElement = elem;
|
|
158
133
|
elemContext = (0, snap_toolbox_1.getContext)([
|
|
159
134
|
'shopperId',
|
|
160
135
|
'shopper',
|
|
@@ -169,7 +144,7 @@ var RecommendationInstantiator = /** @class */ (function () {
|
|
|
169
144
|
'custom',
|
|
170
145
|
'profiles',
|
|
171
146
|
'globals',
|
|
172
|
-
],
|
|
147
|
+
], scriptElement);
|
|
173
148
|
if (elemContext.profiles && elemContext.profiles.length) {
|
|
174
149
|
scriptContextProfiles = elemContext.profiles;
|
|
175
150
|
scriptContextGlobals_1 = elemContext.globals;
|
|
@@ -179,42 +154,62 @@ var RecommendationInstantiator = /** @class */ (function () {
|
|
|
179
154
|
cart: (scriptContextGlobals_1 === null || scriptContextGlobals_1 === void 0 ? void 0 : scriptContextGlobals_1.cart) && getArrayFunc(scriptContextGlobals_1.cart),
|
|
180
155
|
products: scriptContextGlobals_1 === null || scriptContextGlobals_1 === void 0 ? void 0 : scriptContextGlobals_1.products,
|
|
181
156
|
shopper: (_a = scriptContextGlobals_1 === null || scriptContextGlobals_1 === void 0 ? void 0 : scriptContextGlobals_1.shopper) === null || _a === void 0 ? void 0 : _a.id,
|
|
182
|
-
batchId: Math.random(),
|
|
157
|
+
batchId: Math.floor(Math.random() * Number.MAX_SAFE_INTEGER),
|
|
183
158
|
}));
|
|
184
|
-
|
|
185
|
-
//
|
|
186
|
-
scriptContextProfiles.forEach(function (profile) {
|
|
159
|
+
// create a per-profile DomTargeter for each profile so each controller
|
|
160
|
+
// gets its own targeter tracking its specific element
|
|
161
|
+
scriptContextProfiles.forEach(function (profile, index) {
|
|
187
162
|
if (profile.selector) {
|
|
188
|
-
var
|
|
163
|
+
var profileTarget = {
|
|
189
164
|
selector: profile.selector,
|
|
190
165
|
autoRetarget: true,
|
|
191
|
-
clickRetarget: true,
|
|
192
166
|
profile: profile,
|
|
167
|
+
order: index,
|
|
193
168
|
};
|
|
194
|
-
|
|
169
|
+
// track the controller for this profile so multiple matched elements share it
|
|
170
|
+
var profileControllerPromise_1;
|
|
171
|
+
new snap_toolbox_1.DomTargeter([profileTarget], function (target, targetElem, _originalElem, targeter) { return __awaiter(_this, void 0, void 0, function () {
|
|
172
|
+
var profileRequestGlobals, profileContext, controller;
|
|
173
|
+
var _a, _b, _c;
|
|
174
|
+
return __generator(this, function (_d) {
|
|
175
|
+
switch (_d.label) {
|
|
176
|
+
case 0:
|
|
177
|
+
// skip retarget if the source script element was removed and release the current target
|
|
178
|
+
if (scriptElement.isConnected === false) {
|
|
179
|
+
if (targetElem) {
|
|
180
|
+
targeter === null || targeter === void 0 ? void 0 : targeter.releaseTargets([targetElem]);
|
|
181
|
+
}
|
|
182
|
+
return [2 /*return*/];
|
|
183
|
+
}
|
|
184
|
+
if (!(((_a = target.profile) === null || _a === void 0 ? void 0 : _a.profile) || ((_b = target.profile) === null || _b === void 0 ? void 0 : _b.tag))) return [3 /*break*/, 3];
|
|
185
|
+
profileRequestGlobals = __assign(__assign({}, requestGlobals_1), { profile: __assign(__assign({}, (_c = target.profile) === null || _c === void 0 ? void 0 : _c.options), { order: target.order }), tag: target.profile.tag || target.profile.profile });
|
|
186
|
+
profileContext = (0, deepmerge_1.default)(this.context, defined({ globals: scriptContextGlobals_1, profile: target.profile }));
|
|
187
|
+
if (elemContext.custom) {
|
|
188
|
+
profileContext.custom = (0, deepmerge_1.default)(profileContext.custom, elemContext.custom);
|
|
189
|
+
}
|
|
190
|
+
if (!!profileControllerPromise_1) return [3 /*break*/, 1];
|
|
191
|
+
// first element match — create the controller
|
|
192
|
+
profileControllerPromise_1 = readyTheController(this, services || {}, targetElem, profileContext, profileCount, scriptElement, profileRequestGlobals, target, targeter);
|
|
193
|
+
return [3 /*break*/, 3];
|
|
194
|
+
case 1: return [4 /*yield*/, profileControllerPromise_1];
|
|
195
|
+
case 2:
|
|
196
|
+
controller = _d.sent();
|
|
197
|
+
if (controller && targetElem) {
|
|
198
|
+
renderController(this, services || {}, controller, targetElem, scriptElement, target);
|
|
199
|
+
}
|
|
200
|
+
_d.label = 3;
|
|
201
|
+
case 3: return [2 /*return*/];
|
|
202
|
+
}
|
|
203
|
+
});
|
|
204
|
+
}); });
|
|
195
205
|
}
|
|
196
206
|
});
|
|
197
|
-
new snap_toolbox_1.DomTargeter(targetsArr_1, function (target, elem, originalElem) { return __awaiter(_this, void 0, void 0, function () {
|
|
198
|
-
var profileRequestGlobals, profileContext;
|
|
199
|
-
var _a, _b, _c;
|
|
200
|
-
return __generator(this, function (_d) {
|
|
201
|
-
if (((_a = target.profile) === null || _a === void 0 ? void 0 : _a.profile) || ((_b = target.profile) === null || _b === void 0 ? void 0 : _b.tag)) {
|
|
202
|
-
profileRequestGlobals = __assign(__assign({}, requestGlobals_1), { profile: (_c = target.profile) === null || _c === void 0 ? void 0 : _c.options, tag: target.profile.tag || target.profile.profile });
|
|
203
|
-
profileContext = (0, deepmerge_1.default)(this.context, defined({ globals: scriptContextGlobals_1, profile: target.profile }));
|
|
204
|
-
if (elemContext.custom) {
|
|
205
|
-
profileContext.custom = (0, deepmerge_1.default)(profileContext.custom, elemContext.custom);
|
|
206
|
-
}
|
|
207
|
-
readyTheController(this, services || {}, elem, profileContext, profileCount, originalElem, profileRequestGlobals, target);
|
|
208
|
-
}
|
|
209
|
-
return [2 /*return*/];
|
|
210
|
-
});
|
|
211
|
-
}); });
|
|
212
207
|
}
|
|
213
208
|
else {
|
|
214
209
|
profile = elemContext.profile, products = elemContext.products, product = elemContext.product, seed = elemContext.seed, filters = elemContext.filters, blockedItems = elemContext.blockedItems, options = elemContext.options, shopper = elemContext.shopper, shopperId = elemContext.shopperId;
|
|
215
210
|
combinedProducts = [].concat(products || product || seed || []);
|
|
216
211
|
shopperIdentifier = [shopper, shopper === null || shopper === void 0 ? void 0 : shopper.id, shopperId, shopperId === null || shopperId === void 0 ? void 0 : shopperId.id].filter(function (val) { return val && typeof val === 'string'; }).pop();
|
|
217
|
-
|
|
212
|
+
profileRequestGlobals_1 = __assign({ tag: profile }, defined({
|
|
218
213
|
products: combinedProducts.length ? combinedProducts : undefined,
|
|
219
214
|
cart: elemContext.cart && getArrayFunc(elemContext.cart),
|
|
220
215
|
shopper: shopperIdentifier,
|
|
@@ -222,7 +217,25 @@ var RecommendationInstantiator = /** @class */ (function () {
|
|
|
222
217
|
blockedItems: blockedItems,
|
|
223
218
|
profile: options,
|
|
224
219
|
}));
|
|
225
|
-
|
|
220
|
+
profileAttr = scriptElement.getAttribute('profile') || '';
|
|
221
|
+
recsContainer = scriptElement.ownerDocument.createElement('div');
|
|
222
|
+
recsContainer.setAttribute('searchspring-recommend', profileAttr);
|
|
223
|
+
scriptElement.before(recsContainer);
|
|
224
|
+
legacyContext_1 = (0, deepmerge_1.default)(this.context, elemContext);
|
|
225
|
+
// create a per-element DomTargeter for the injected div (mirrors grouped block pattern)
|
|
226
|
+
new snap_toolbox_1.DomTargeter([{ selector: "[searchspring-recommend=\"".concat(profileAttr, "\"]"), name: "legacy_".concat(profile, "_").concat(profileCount[profile || ''] || 0) }], function (_target, targetElem, _originalElem, targeter) { return __awaiter(_this, void 0, void 0, function () {
|
|
227
|
+
return __generator(this, function (_a) {
|
|
228
|
+
// skip retarget if the source script element was removed and release the current target
|
|
229
|
+
if (scriptElement.isConnected === false) {
|
|
230
|
+
if (targetElem) {
|
|
231
|
+
targeter === null || targeter === void 0 ? void 0 : targeter.releaseTargets([targetElem]);
|
|
232
|
+
}
|
|
233
|
+
return [2 /*return*/];
|
|
234
|
+
}
|
|
235
|
+
readyTheController(this, services || {}, targetElem, legacyContext_1, profileCount, scriptElement, profileRequestGlobals_1, target, targeter);
|
|
236
|
+
return [2 /*return*/];
|
|
237
|
+
});
|
|
238
|
+
}); });
|
|
226
239
|
}
|
|
227
240
|
return [2 /*return*/];
|
|
228
241
|
});
|
|
@@ -245,34 +258,55 @@ var RecommendationInstantiator = /** @class */ (function () {
|
|
|
245
258
|
RecommendationInstantiator.prototype.use = function (attachments) {
|
|
246
259
|
this.uses.push(attachments);
|
|
247
260
|
};
|
|
261
|
+
// cleanup to ensure we release controllers no longer rendering in the DOM (memory leak prevention for SPA's)
|
|
262
|
+
RecommendationInstantiator.prototype.cleanupStaleControllers = function () {
|
|
263
|
+
var _this = this;
|
|
264
|
+
Object.keys(this.controller).forEach(function (id) {
|
|
265
|
+
var _a;
|
|
266
|
+
var controller = _this.controller[id];
|
|
267
|
+
var targeters = Object.values(controller.targeters);
|
|
268
|
+
var hasConnectedTarget = targeters.some(function (targeter) {
|
|
269
|
+
return targeter.getTargetedElems().some(function (elem) {
|
|
270
|
+
var attr = elem.isConnected !== false && elem.getAttribute('ss-controller-id');
|
|
271
|
+
return attr === id;
|
|
272
|
+
});
|
|
273
|
+
});
|
|
274
|
+
if (!hasConnectedTarget) {
|
|
275
|
+
Object.keys(controller.targeters).forEach(function (targeterId) { return controller.targeters[targeterId].destroy(); });
|
|
276
|
+
controller.targeters = {};
|
|
277
|
+
delete _this.controller[id];
|
|
278
|
+
if ((_a = window.athos) === null || _a === void 0 ? void 0 : _a.controller) {
|
|
279
|
+
delete window.athos.controller[id];
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
});
|
|
283
|
+
};
|
|
248
284
|
return RecommendationInstantiator;
|
|
249
285
|
}());
|
|
250
286
|
exports.RecommendationInstantiator = RecommendationInstantiator;
|
|
251
|
-
function readyTheController(instance, services,
|
|
287
|
+
function readyTheController(instance, services, targetElem, context, profileCount, scriptElem, controllerGlobals, target, targeter) {
|
|
252
288
|
return __awaiter(this, void 0, void 0, function () {
|
|
253
|
-
var profile, batchId, cart, tag, batched, globals, controllerConfig, controller,
|
|
254
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s
|
|
255
|
-
return __generator(this, function (
|
|
256
|
-
switch (
|
|
289
|
+
var profile, batchId, cart, tag, batched, globals, controllerConfigBase, controllerConfig, controller, profileVars;
|
|
290
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
|
|
291
|
+
return __generator(this, function (_t) {
|
|
292
|
+
switch (_t.label) {
|
|
257
293
|
case 0:
|
|
258
294
|
profile = controllerGlobals.profile, batchId = controllerGlobals.batchId, cart = controllerGlobals.cart, tag = controllerGlobals.tag;
|
|
259
295
|
batched = (_b = (_a = profile === null || profile === void 0 ? void 0 : profile.batched) !== null && _a !== void 0 ? _a : controllerGlobals.batched) !== null && _b !== void 0 ? _b : true;
|
|
260
296
|
if (!tag) {
|
|
261
297
|
// FEEDBACK: change message depending on script integration type (profile vs. legacy)
|
|
262
|
-
instance.logger.warn("'tag' is missing from <script> tag, skipping this profile",
|
|
298
|
+
instance.logger.warn("'tag' is missing from <script> tag, skipping this profile", scriptElem);
|
|
263
299
|
return [2 /*return*/];
|
|
264
300
|
}
|
|
265
301
|
if (Array.isArray(cart)) {
|
|
266
302
|
instance.tracker.cookies.cart.set(cart);
|
|
267
303
|
}
|
|
268
|
-
profileCount[tag] = profileCount[tag] + 1 || 1;
|
|
269
304
|
globals = deepmerge_1.default.all([
|
|
270
305
|
((_c = instance.config.client) === null || _c === void 0 ? void 0 : _c.globals) || {},
|
|
271
306
|
((_d = instance.config.config) === null || _d === void 0 ? void 0 : _d.globals) || {},
|
|
272
307
|
controllerGlobals,
|
|
273
308
|
]);
|
|
274
|
-
|
|
275
|
-
id: "recommend_".concat(tag, "_").concat(profileCount[tag] - 1),
|
|
309
|
+
controllerConfigBase = {
|
|
276
310
|
tag: tag,
|
|
277
311
|
batched: (_f = batched !== null && batched !== void 0 ? batched : (_e = instance.config.config) === null || _e === void 0 ? void 0 : _e.batched) !== null && _f !== void 0 ? _f : true,
|
|
278
312
|
realtime: Boolean((_l = (_h = (_g = context.options) === null || _g === void 0 ? void 0 : _g.realtime) !== null && _h !== void 0 ? _h : (_k = (_j = context.profile) === null || _j === void 0 ? void 0 : _j.options) === null || _k === void 0 ? void 0 : _k.realtime) !== null && _l !== void 0 ? _l : (_m = instance.config.config) === null || _m === void 0 ? void 0 : _m.realtime),
|
|
@@ -281,106 +315,110 @@ function readyTheController(instance, services, injectedElem, context, profileCo
|
|
|
281
315
|
plugins: instance.config.config.plugins,
|
|
282
316
|
branch: ((_o = instance.config.config) === null || _o === void 0 ? void 0 : _o.branch) || 'production',
|
|
283
317
|
limit: (_p = instance.config.config) === null || _p === void 0 ? void 0 : _p.limit,
|
|
318
|
+
beacon: ((_q = instance.config.config) === null || _q === void 0 ? void 0 : _q.beacon) || { enabled: true },
|
|
284
319
|
settings: {
|
|
285
|
-
variants: (
|
|
320
|
+
variants: (_r = instance.config.config) === null || _r === void 0 ? void 0 : _r.variants,
|
|
286
321
|
},
|
|
287
322
|
globals: globals,
|
|
288
323
|
};
|
|
289
324
|
if (profile === null || profile === void 0 ? void 0 : profile.branch) {
|
|
290
|
-
|
|
325
|
+
controllerConfigBase.branch = profile === null || profile === void 0 ? void 0 : profile.branch;
|
|
291
326
|
}
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
return (JSON.stringify({
|
|
296
|
-
batched: controller.config.batched,
|
|
297
|
-
branch: controller.config.branch,
|
|
298
|
-
globals: controller.config.globals,
|
|
299
|
-
tag: controller.config.tag,
|
|
300
|
-
realtime: controller.config.realtime,
|
|
301
|
-
}) ==
|
|
302
|
-
JSON.stringify({
|
|
303
|
-
batched: controllerConfig.batched,
|
|
304
|
-
branch: controllerConfig.branch,
|
|
305
|
-
globals: controllerConfig.globals,
|
|
306
|
-
tag: controllerConfig.tag,
|
|
307
|
-
realtime: controllerConfig.realtime,
|
|
308
|
-
}));
|
|
309
|
-
})[0];
|
|
310
|
-
if (!!controller) return [3 /*break*/, 2];
|
|
311
|
-
return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require('../create/createRecommendationController')); })];
|
|
312
|
-
case 1:
|
|
313
|
-
createRecommendationController = (_w.sent()).default;
|
|
314
|
-
controller = createRecommendationController({
|
|
327
|
+
profileCount[tag] = profileCount[tag] + 1 || 1;
|
|
328
|
+
controllerConfig = __assign({ id: "recommend_".concat(tag, "_").concat(profileCount[tag] - 1) }, controllerConfigBase);
|
|
329
|
+
controller = (0, create_1.createRecommendationController)({
|
|
315
330
|
url: instance.config.url,
|
|
316
331
|
controller: controllerConfig,
|
|
317
332
|
context: context,
|
|
318
333
|
mode: instance.config.mode,
|
|
319
334
|
}, { client: instance.client, tracker: instance.tracker });
|
|
335
|
+
// mark element with controller id so cleanupStaleControllers knows it's active
|
|
336
|
+
if (targetElem) {
|
|
337
|
+
targetElem.setAttribute('ss-controller-id', controller.id);
|
|
338
|
+
}
|
|
320
339
|
instance.uses.forEach(function (attachements) { return controller.use(attachements); });
|
|
321
340
|
instance.plugins.forEach(function (plugin) { return controller.plugin.apply(controller, __spreadArray([plugin.func], plugin.args, false)); });
|
|
322
341
|
instance.middleware.forEach(function (middleware) { return controller.on.apply(controller, __spreadArray([middleware.event], middleware.func, false)); });
|
|
323
|
-
|
|
324
|
-
case 2:
|
|
325
|
-
if (!!controller.store.loading) return [3 /*break*/, 4];
|
|
326
|
-
return [4 /*yield*/, controller.search()];
|
|
327
|
-
case 3:
|
|
328
|
-
_w.sent();
|
|
329
|
-
_w.label = 4;
|
|
330
|
-
case 4:
|
|
331
|
-
controller.addTargeter(instance.targeter);
|
|
342
|
+
// add controller to instantiator and global namespace
|
|
332
343
|
instance.controller[controller.config.id] = controller;
|
|
333
344
|
window.athos.controller = window.athos.controller || {};
|
|
334
345
|
window.athos.controller[controller.config.id] = controller;
|
|
335
|
-
|
|
336
|
-
|
|
346
|
+
// register targeter on the controller for element tracking
|
|
347
|
+
controller.addTargeter(targeter);
|
|
348
|
+
if (!!controller.store.loading) return [3 /*break*/, 2];
|
|
349
|
+
return [4 /*yield*/, controller.search()];
|
|
350
|
+
case 1:
|
|
351
|
+
_t.sent();
|
|
352
|
+
_t.label = 2;
|
|
353
|
+
case 2:
|
|
354
|
+
profileVars = (_s = controller.store.profile.display) === null || _s === void 0 ? void 0 : _s.templateParameters;
|
|
337
355
|
if (controller.store.error) {
|
|
338
356
|
//something went wrong
|
|
339
357
|
//err was already logged - nothing to do.
|
|
340
358
|
return [2 /*return*/];
|
|
341
359
|
}
|
|
342
360
|
if (!controller.store.profile.display.template) {
|
|
343
|
-
instance.logger.error("profile '".concat(tag, "' found on the following element is missing a template!\n").concat(
|
|
361
|
+
instance.logger.error("profile '".concat(tag, "' found on the following element is missing a template!\n").concat(scriptElem === null || scriptElem === void 0 ? void 0 : scriptElem.outerHTML));
|
|
344
362
|
return [2 /*return*/];
|
|
345
363
|
}
|
|
346
364
|
if (!profileVars) {
|
|
347
|
-
instance.logger.error("profile '".concat(tag, "' found on the following element is missing templateParameters!\n").concat(
|
|
365
|
+
instance.logger.error("profile '".concat(tag, "' found on the following element is missing templateParameters!\n").concat(scriptElem === null || scriptElem === void 0 ? void 0 : scriptElem.outerHTML));
|
|
348
366
|
return [2 /*return*/];
|
|
349
367
|
}
|
|
368
|
+
if (!targetElem) return [3 /*break*/, 4];
|
|
369
|
+
return [4 /*yield*/, renderController(instance, services, controller, targetElem, scriptElem, target)];
|
|
370
|
+
case 3:
|
|
371
|
+
_t.sent();
|
|
372
|
+
_t.label = 4;
|
|
373
|
+
case 4: return [2 /*return*/, controller];
|
|
374
|
+
}
|
|
375
|
+
});
|
|
376
|
+
});
|
|
377
|
+
}
|
|
378
|
+
function renderController(instance, services, controller, targetElem, scriptElem, target) {
|
|
379
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
380
|
+
var tag, component, props, RecommendationsComponent, importPromises, importResolutions;
|
|
381
|
+
var _a, _b, _c, _d;
|
|
382
|
+
return __generator(this, function (_e) {
|
|
383
|
+
switch (_e.label) {
|
|
384
|
+
case 0:
|
|
385
|
+
// update the element with the controller id
|
|
386
|
+
if (targetElem) {
|
|
387
|
+
targetElem.setAttribute('ss-controller-id', controller.id);
|
|
388
|
+
}
|
|
389
|
+
tag = controller.config.tag;
|
|
390
|
+
component = (_b = (_a = controller.store.profile.display) === null || _a === void 0 ? void 0 : _a.template) === null || _b === void 0 ? void 0 : _b.component;
|
|
350
391
|
if (!component) {
|
|
351
|
-
instance.logger.error("profile '".concat(tag, "' found on the following element is missing a component!\n").concat(
|
|
392
|
+
instance.logger.error("profile '".concat(tag, "' found on the following element is missing a component!\n").concat(scriptElem === null || scriptElem === void 0 ? void 0 : scriptElem.outerHTML));
|
|
352
393
|
return [2 /*return*/];
|
|
353
394
|
}
|
|
354
395
|
props = {};
|
|
355
396
|
RecommendationsComponent = undefined;
|
|
356
397
|
props.className = "ss__recommendation-".concat(component.toLowerCase());
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
if (!(instance.config.components[component] && typeof instance.config.components[component] == 'function')) return [3 /*break*/, 6];
|
|
398
|
+
(_d = (_c = instance.config.components[component]) === null || _c === void 0 ? void 0 : _c.onTarget) === null || _d === void 0 ? void 0 : _d.call(_c, target, scriptElem, targetElem, controller);
|
|
399
|
+
if (!(instance.config.components[component] && typeof instance.config.components[component] == 'function')) return [3 /*break*/, 2];
|
|
360
400
|
return [4 /*yield*/, instance.config.components[component]()];
|
|
361
|
-
case
|
|
362
|
-
RecommendationsComponent =
|
|
363
|
-
return [3 /*break*/,
|
|
364
|
-
case
|
|
365
|
-
if (!(instance.config.components[component] && typeof instance.config.components[component] == 'object')) return [3 /*break*/,
|
|
401
|
+
case 1:
|
|
402
|
+
RecommendationsComponent = _e.sent();
|
|
403
|
+
return [3 /*break*/, 4];
|
|
404
|
+
case 2:
|
|
405
|
+
if (!(instance.config.components[component] && typeof instance.config.components[component] == 'object')) return [3 /*break*/, 4];
|
|
366
406
|
props = instance.config.components[component].props || {};
|
|
367
407
|
importPromises = [];
|
|
368
408
|
// dynamically import the component
|
|
369
409
|
importPromises.push(instance.config.components[component].component());
|
|
370
410
|
return [4 /*yield*/, Promise.all(importPromises)];
|
|
371
|
-
case
|
|
372
|
-
importResolutions =
|
|
411
|
+
case 3:
|
|
412
|
+
importResolutions = _e.sent();
|
|
373
413
|
RecommendationsComponent = importResolutions[0];
|
|
374
|
-
|
|
375
|
-
case
|
|
414
|
+
_e.label = 4;
|
|
415
|
+
case 4:
|
|
376
416
|
if (!RecommendationsComponent) {
|
|
377
|
-
instance.logger.error("profile '".concat(tag, "' found on the following element is expecting component mapping for '").concat(component, "' - verify instantiator config.\n").concat(
|
|
417
|
+
instance.logger.error("profile '".concat(tag, "' found on the following element is expecting component mapping for '").concat(component, "' - verify instantiator config.\n").concat(scriptElem === null || scriptElem === void 0 ? void 0 : scriptElem.outerHTML));
|
|
378
418
|
return [2 /*return*/];
|
|
379
419
|
}
|
|
380
420
|
setTimeout(function () {
|
|
381
|
-
|
|
382
|
-
(0, preact_1.render)((0, jsx_runtime_1.jsx)(RecommendationsComponent, __assign({ controller: controller, snap: services === null || services === void 0 ? void 0 : services.snap }, props)), injectedElem);
|
|
383
|
-
}
|
|
421
|
+
(0, preact_1.render)((0, jsx_runtime_1.jsx)(RecommendationsComponent, __assign({ controller: controller, snap: services === null || services === void 0 ? void 0 : services.snap }, props)), targetElem);
|
|
384
422
|
});
|
|
385
423
|
return [2 /*return*/];
|
|
386
424
|
}
|