@fast-simon/dashboard-utilities 1.0.96 → 1.0.97
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/@types/autocomplete.d.ts +58 -58
- package/dist/@types/autocomplete.js +1 -1
- package/dist/@types/autocomplete.js.map +1 -1
- package/dist/@types/banner.d.ts +7 -7
- package/dist/@types/banner.js +1 -1
- package/dist/@types/banner.js.map +1 -1
- package/dist/@types/categories.d.ts +113 -113
- package/dist/@types/categories.js +1 -1
- package/dist/@types/categories.js.map +1 -1
- package/dist/@types/categoriesNavigation.d.ts +27 -27
- package/dist/@types/categoriesNavigation.js +1 -1
- package/dist/@types/categoriesNavigation.js.map +1 -1
- package/dist/@types/context.d.ts +49 -49
- package/dist/@types/context.js +1 -1
- package/dist/@types/context.js.map +1 -1
- package/dist/@types/currency.d.ts +1 -1
- package/dist/@types/currency.js +1 -1
- package/dist/@types/currency.js.map +1 -1
- package/dist/@types/editorProduct.d.ts +26 -26
- package/dist/@types/editorProduct.js +5 -5
- package/dist/@types/editorProduct.js.map +1 -1
- package/dist/@types/facets.d.ts +59 -59
- package/dist/@types/facets.js +18 -18
- package/dist/@types/facets.js.map +1 -1
- package/dist/@types/iconProps.d.ts +9 -9
- package/dist/@types/iconProps.js +1 -1
- package/dist/@types/iconProps.js.map +1 -1
- package/dist/@types/narrow.d.ts +7 -7
- package/dist/@types/narrow.js +1 -1
- package/dist/@types/narrow.js.map +1 -1
- package/dist/@types/product.d.ts +160 -160
- package/dist/@types/product.js +7 -7
- package/dist/@types/product.js.map +1 -1
- package/dist/@types/productLabel.d.ts +1 -1
- package/dist/@types/productLabel.js +1 -1
- package/dist/@types/promoTile.d.ts +11 -11
- package/dist/@types/promoTile.js +1 -1
- package/dist/@types/promoTile.js.map +1 -1
- package/dist/@types/results.d.ts +142 -142
- package/dist/@types/results.js +1 -1
- package/dist/@types/results.js.map +1 -1
- package/dist/@types/sideMenu.d.ts +19 -19
- package/dist/@types/sideMenu.js +1 -1
- package/dist/@types/sideMenu.js.map +1 -1
- package/dist/@types/sortBy.d.ts +3 -3
- package/dist/@types/sortBy.js +1 -1
- package/dist/@types/sortBy.js.map +1 -1
- package/dist/@types/widget.d.ts +8 -8
- package/dist/@types/widget.js +1 -1
- package/dist/@types/widget.js.map +1 -1
- package/dist/App.d.ts +3 -3
- package/dist/App.js +14 -14
- package/dist/App.js.map +1 -1
- package/dist/components/BackOfficeFiltersMenu/BackOfficeFiltersMenu.d.ts +9 -9
- package/dist/components/BackOfficeFiltersMenu/BackOfficeFiltersMenu.js +73 -73
- package/dist/components/BackOfficeFiltersMenu/BackOfficeFiltersMenu.js.map +1 -1
- package/dist/components/BackOfficeFiltersMenu/index.d.ts +1 -1
- package/dist/components/BackOfficeFiltersMenu/index.js +1 -1
- package/dist/components/BackOfficeFiltersMenu/index.js.map +1 -1
- package/dist/components/BackOfficeFiltersMenu/styles.module.css +9 -9
- package/dist/components/BackOfficeFiltersMenu/utils.d.ts +7 -7
- package/dist/components/BackOfficeFiltersMenu/utils.js +238 -238
- package/dist/components/BackOfficeFiltersMenu/utils.js.map +1 -1
- package/dist/components/CheckboxFilter/Checkbox/Checkbox.d.ts +10 -10
- package/dist/components/CheckboxFilter/Checkbox/Checkbox.js +6 -6
- package/dist/components/CheckboxFilter/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/CheckboxFilter/Checkbox/styles.module.css +142 -142
- package/dist/components/CheckboxFilter/CheckboxFilter.d.ts +6 -6
- package/dist/components/CheckboxFilter/CheckboxFilter.js +8 -8
- package/dist/components/CheckboxFilter/CheckboxFilter.js.map +1 -1
- package/dist/components/CheckboxFilter/styles.module.css +4 -4
- package/dist/components/DragAndDrop/DndContextWrapper.d.ts +19 -19
- package/dist/components/DragAndDrop/DndContextWrapper.js +30 -30
- package/dist/components/DragAndDrop/DndContextWrapper.js.map +1 -1
- package/dist/components/DragAndDrop/Droppable.d.ts +7 -7
- package/dist/components/DragAndDrop/Droppable.js +9 -9
- package/dist/components/DragAndDrop/Droppable.js.map +1 -1
- package/dist/components/DragAndDrop/SortableItem.d.ts +13 -13
- package/dist/components/DragAndDrop/SortableItem.js +38 -38
- package/dist/components/DragAndDrop/SortableItem.js.map +1 -1
- package/dist/components/DragAndDrop/styles.module.css +15 -15
- package/dist/components/FacetItem/FacetItem.d.ts +13 -13
- package/dist/components/FacetItem/FacetItem.js +39 -39
- package/dist/components/FacetItem/FacetItem.js.map +1 -1
- package/dist/components/FacetItem/styles.module.css +54 -54
- package/dist/components/FastSimonApi/FastSimonApi.d.ts +39 -39
- package/dist/components/FastSimonApi/FastSimonApi.js +605 -605
- package/dist/components/FastSimonApi/FastSimonApi.js.map +1 -1
- package/dist/components/FastSimonApi/context.d.ts +62 -62
- package/dist/components/FastSimonApi/context.js +9 -9
- package/dist/components/FastSimonApi/context.js.map +1 -1
- package/dist/components/FastSimonApi/index.d.ts +3 -3
- package/dist/components/FastSimonApi/index.js +2 -2
- package/dist/components/FastSimonApi/index.js.map +1 -1
- package/dist/components/FastSimonApi/reducer.d.ts +458 -458
- package/dist/components/FastSimonApi/reducer.js +76 -76
- package/dist/components/FastSimonApi/reducer.js.map +1 -1
- package/dist/components/FromToFilter/From/From.d.ts +17 -17
- package/dist/components/FromToFilter/From/From.js +21 -21
- package/dist/components/FromToFilter/From/From.js.map +1 -1
- package/dist/components/FromToFilter/From/styles.module.css +8 -8
- package/dist/components/FromToFilter/FromToFilter.d.ts +14 -14
- package/dist/components/FromToFilter/FromToFilter.js +57 -57
- package/dist/components/FromToFilter/FromToFilter.js.map +1 -1
- package/dist/components/FromToFilter/To/To.d.ts +18 -18
- package/dist/components/FromToFilter/To/To.js +22 -22
- package/dist/components/FromToFilter/To/To.js.map +1 -1
- package/dist/components/FromToFilter/To/styles.module.css +8 -8
- package/dist/components/FromToFilter/styles.module.css +33 -33
- package/dist/components/FromToFilter/utils.d.ts +25 -25
- package/dist/components/FromToFilter/utils.js +6 -6
- package/dist/components/FromToFilter/utils.js.map +1 -1
- package/dist/components/InStoreFiltersMenu/InStoreFiltersMenu.d.ts +10 -10
- package/dist/components/InStoreFiltersMenu/InStoreFiltersMenu.js +33 -33
- package/dist/components/InStoreFiltersMenu/InStoreFiltersMenu.js.map +1 -1
- package/dist/components/InStoreFiltersMenu/index.d.ts +1 -1
- package/dist/components/InStoreFiltersMenu/index.js +1 -1
- package/dist/components/InStoreFiltersMenu/index.js.map +1 -1
- package/dist/components/InStoreFiltersMenu/styles.module.css +9 -9
- package/dist/components/Input/Input.d.ts +22 -22
- package/dist/components/Input/Input.js +48 -48
- package/dist/components/Input/Input.js.map +1 -1
- package/dist/components/Input/index.d.ts +1 -1
- package/dist/components/Input/index.js +1 -1
- package/dist/components/Input/index.js.map +1 -1
- package/dist/components/Input/styles.module.css +2 -2
- package/dist/components/LastReceivedDateFilter/LastReceivedDate.d.ts +9 -9
- package/dist/components/LastReceivedDateFilter/LastReceivedDate.js +87 -87
- package/dist/components/LastReceivedDateFilter/LastReceivedDate.js.map +1 -1
- package/dist/components/LastReceivedDateFilter/styles.module.css +40 -40
- package/dist/components/LastReceivedDateFilter/utils.d.ts +3 -3
- package/dist/components/LastReceivedDateFilter/utils.js +42 -42
- package/dist/components/LastReceivedDateFilter/utils.js.map +1 -1
- package/dist/components/ProductLabel/ProductLabel.d.ts +11 -11
- package/dist/components/ProductLabel/ProductLabel.js +10 -10
- package/dist/components/ProductLabel/ProductLabel.js.map +1 -1
- package/dist/components/ProductLabel/index.d.ts +1 -1
- package/dist/components/ProductLabel/index.js +1 -1
- package/dist/components/ProductLabel/index.js.map +1 -1
- package/dist/components/ProductLabel/styles.module.css +41 -41
- package/dist/components/ProductLabel/utils.d.ts +8 -8
- package/dist/components/ProductLabel/utils.js +8 -8
- package/dist/components/ProductLabel/utils.js.map +1 -1
- package/dist/components/RadioFilter/Radio/Radio.d.ts +10 -10
- package/dist/components/RadioFilter/Radio/Radio.js +6 -6
- package/dist/components/RadioFilter/Radio/Radio.js.map +1 -1
- package/dist/components/RadioFilter/Radio/styles.module.css +144 -144
- package/dist/components/RadioFilter/RadioFilter.d.ts +9 -9
- package/dist/components/RadioFilter/RadioFilter.js +44 -44
- package/dist/components/RadioFilter/RadioFilter.js.map +1 -1
- package/dist/components/RadioFilter/styles.module.css +22 -22
- package/dist/components/RadioFilter/utils.d.ts +1 -1
- package/dist/components/RadioFilter/utils.js +7 -7
- package/dist/components/RadioFilter/utils.js.map +1 -1
- package/dist/components/ReactDatePicker/ReactDatePicker.d.ts +11 -11
- package/dist/components/ReactDatePicker/ReactDatePicker.js +15 -15
- package/dist/components/ReactDatePicker/ReactDatePicker.js.map +1 -1
- package/dist/components/ReactDatePicker/index.d.ts +1 -1
- package/dist/components/ReactDatePicker/index.js +1 -1
- package/dist/components/ReactDatePicker/index.js.map +1 -1
- package/dist/components/ReactDatePicker/styles.module.css +2 -2
- package/dist/components/RenderIfVisible/RenderIfVisible.d.ts +12 -12
- package/dist/components/RenderIfVisible/RenderIfVisible.js +58 -58
- package/dist/components/RenderIfVisible/RenderIfVisible.js.map +1 -1
- package/dist/components/RenderIfVisible/index.d.ts +1 -1
- package/dist/components/RenderIfVisible/index.js +1 -1
- package/dist/components/RenderIfVisible/index.js.map +1 -1
- package/dist/components/ScrollToTop/ScrollToTop.d.ts +6 -6
- package/dist/components/ScrollToTop/ScrollToTop.js +27 -27
- package/dist/components/ScrollToTop/ScrollToTop.js.map +1 -1
- package/dist/components/ScrollToTop/styles.module.css +18 -18
- package/dist/components/SelectCard/SelectCard.d.ts +5 -5
- package/dist/components/SelectCard/SelectCard.js +6 -6
- package/dist/components/SelectCard/SelectCard.js.map +1 -1
- package/dist/components/SelectCard/index.d.ts +1 -1
- package/dist/components/SelectCard/index.js +1 -1
- package/dist/components/SelectCard/index.js.map +1 -1
- package/dist/components/SelectCard/styles.module.css +20 -20
- package/dist/components/SingleFilter/SingleFilter.d.ts +11 -11
- package/dist/components/SingleFilter/SingleFilter.js +89 -89
- package/dist/components/SingleFilter/SingleFilter.js.map +1 -1
- package/dist/components/SingleFilter/styles.module.css +23 -23
- package/dist/components/SingleFilter/utils.d.ts +3 -3
- package/dist/components/SingleFilter/utils.js +41 -41
- package/dist/components/SingleFilter/utils.js.map +1 -1
- package/dist/components/SliderFilter/SliderFilter.d.ts +20 -20
- package/dist/components/SliderFilter/SliderFilter.js +45 -45
- package/dist/components/SliderFilter/SliderFilter.js.map +1 -1
- package/dist/components/SliderFilter/index.d.ts +1 -1
- package/dist/components/SliderFilter/index.js +1 -1
- package/dist/components/SliderFilter/index.js.map +1 -1
- package/dist/components/SliderFilter/styles.module.css +15 -15
- package/dist/components/Tooltip/Tooltip.d.ts +8 -8
- package/dist/components/Tooltip/Tooltip.js +8 -8
- package/dist/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/Tooltip/styles.module.css +33 -33
- package/dist/components/common.d.ts +23 -23
- package/dist/components/common.js +30 -30
- package/dist/components/common.js.map +1 -1
- package/dist/components/productGrid/ProductGrid.d.ts +11 -11
- package/dist/components/productGrid/ProductGrid.js +32 -32
- package/dist/components/productGrid/ProductGrid.js.map +1 -1
- package/dist/components/productGrid/index.d.ts +1 -1
- package/dist/components/productGrid/index.js +1 -1
- package/dist/components/productGrid/index.js.map +1 -1
- package/dist/components/productGrid/styles.module.css +25 -25
- package/dist/icons/BackOfficeFiltersIcon.d.ts +2 -2
- package/dist/icons/BackOfficeFiltersIcon.js +6 -6
- package/dist/icons/BackOfficeFiltersIcon.js.map +1 -1
- package/dist/icons/BannersIcon.d.ts +2 -2
- package/dist/icons/BannersIcon.js +6 -6
- package/dist/icons/BannersIcon.js.map +1 -1
- package/dist/icons/GeneralIcon.d.ts +2 -2
- package/dist/icons/GeneralIcon.js +6 -6
- package/dist/icons/GeneralIcon.js.map +1 -1
- package/dist/icons/HelpIcon.d.ts +7 -7
- package/dist/icons/HelpIcon.js +4 -4
- package/dist/icons/HelpIcon.js.map +1 -1
- package/dist/icons/InStoreFiltersIcon.d.ts +2 -2
- package/dist/icons/InStoreFiltersIcon.js +6 -6
- package/dist/icons/InStoreFiltersIcon.js.map +1 -1
- package/dist/icons/PromoteIcon.d.ts +2 -2
- package/dist/icons/PromoteIcon.js +6 -6
- package/dist/icons/PromoteIcon.js.map +1 -1
- package/dist/icons/RemoveIcon.d.ts +2 -2
- package/dist/icons/RemoveIcon.js +6 -6
- package/dist/icons/RemoveIcon.js.map +1 -1
- package/dist/icons/RestoreIcon.d.ts +2 -2
- package/dist/icons/RestoreIcon.js +6 -6
- package/dist/icons/RestoreIcon.js.map +1 -1
- package/dist/icons/styles.module.css +60 -60
- package/dist/index.css +13 -0
- package/dist/index.d.ts +41 -41
- package/dist/index.js +32 -32
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts +1 -1
- package/dist/main.js +5 -5
- package/dist/main.js.map +1 -1
- package/dist/services/API.d.ts +21 -21
- package/dist/services/API.js +49 -49
- package/dist/services/API.js.map +1 -1
- package/dist/services/autocomplete.d.ts +4 -4
- package/dist/services/autocomplete.js +25 -25
- package/dist/services/autocomplete.js.map +1 -1
- package/dist/services/getFormatProducts.d.ts +13 -13
- package/dist/services/getFormatProducts.js +43 -43
- package/dist/services/getFormatProducts.js.map +1 -1
- package/dist/services/landingPage.d.ts +28 -28
- package/dist/services/landingPage.js +86 -86
- package/dist/services/landingPage.js.map +1 -1
- package/dist/services/products.d.ts +9 -9
- package/dist/services/products.js +30 -30
- package/dist/services/products.js.map +1 -1
- package/dist/services/search.d.ts +13 -13
- package/dist/services/search.js +113 -113
- package/dist/services/search.js.map +1 -1
- package/dist/services/smartCollections.d.ts +5 -5
- package/dist/services/smartCollections.js +44 -44
- package/dist/services/smartCollections.js.map +1 -1
- package/dist/utils/customTagsFilters.d.ts +4 -4
- package/dist/utils/customTagsFilters.js +9 -9
- package/dist/utils/customTagsFilters.js.map +1 -1
- package/dist/utils/getCacheSettings.d.ts +16 -16
- package/dist/utils/getCacheSettings.js +25 -25
- package/dist/utils/getCacheSettings.js.map +1 -1
- package/dist/utils/getInternalURL.d.ts +1 -1
- package/dist/utils/getInternalURL.js +7 -7
- package/dist/utils/getInternalURL.js.map +1 -1
- package/dist/utils/getLSVectorSearch.d.ts +4 -4
- package/dist/utils/getLSVectorSearch.js +8 -8
- package/dist/utils/getLSVectorSearch.js.map +1 -1
- package/dist/utils/useDragToSelect.d.ts +13 -13
- package/dist/utils/useDragToSelect.js +172 -172
- package/dist/utils/useDragToSelect.js.map +1 -1
- package/dist/utils/useProductsPerRow.d.ts +3 -3
- package/dist/utils/useProductsPerRow.js +18 -18
- package/dist/utils/useProductsPerRow.js.map +1 -1
- package/package.json +64 -64
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FastSimonApi.js","sourceRoot":"","sources":["../../../src/components/FastSimonApi/FastSimonApi.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {useEffect, useReducer, useState} from \"react\";\r\nimport {CustomSortSettings, FastState, FastStateFunctions, IsLoading, SetStateProps} from \"./context\";\r\nimport {ThemeProvider} from \"react-jss\";\r\nimport {fastStateReducer} from \"./reducer\";\r\nimport {newObject} from \"../common\";\r\n\r\nimport {SortBy} from \"../../@types/sortBy\";\r\nimport {fullTextSearchProps, FullTextServerResponseAll} from \"../../@types/results\";\r\n\r\nimport {Product} from \"../../@types/product\";\r\nimport {FastCategory, smartCollectionsProps, smartCollectionsResults} from \"../../@types/categories\";\r\nimport {Narrow, ServerNarrow} from \"../../@types/narrow\";\r\nimport {FullTextSearch} from \"../../services/search\";\r\nimport {SmartCollections} from \"../../services/smartCollections\";\r\nimport {autocompleteProps, AutocompleteReasoningResponse} from \"../../@types/autocomplete\";\r\nimport {Autocomplete} from \"../../services/autocomplete\";\r\n\r\nexport type AppType = \"SPA\" | \"MPA\";\r\n\r\ninterface Props {\r\n storeID: number;\r\n uuid: string;\r\n type?: AppType;\r\n onReady?: VoidFunction;\r\n cartToken?: string;\r\n defaultSort?: SortBy\r\n collectionID?: string\r\n withProductAttributes?: boolean\r\n promoTiles?: boolean\r\n getTitle?: ({}: { categoryID?: string, query?: string }) => string\r\n isInfiniteScroll?: boolean\r\n useFilters?: boolean\r\n noReport?: boolean\r\n customTitleChange?: (results?: FullTextServerResponseAll | smartCollectionsResults) => void\r\n theme?: Partial<MainTheme>\r\n children?: React.ReactNode;\r\n siteKey?:string\r\n isEnterpriseMerchandising?: boolean;\r\n subscription?: number;\r\n marketContext?: string | null; // Region code for market-specific product filtering (e.g., \"US\", \"CA\", \"UK\")\r\n}\r\n\r\nexport interface MainTheme {\r\n primaryColor: string\r\n lighterPrimary: string\r\n successGreen: string\r\n errorRed: string\r\n loadingYellow: string,\r\n}\r\n\r\nconst mainTheme: MainTheme = {\r\n primaryColor: \"#1976d2\",\r\n lighterPrimary: \"rgba(25,118,210,0.71)\",\r\n successGreen: \"#4BB543\",\r\n errorRed: \"#ff0033\",\r\n loadingYellow: \"#f3b706\",\r\n}\r\n\r\n\r\nconst FastSimonApi: React.FC<Props> = ({\r\n storeID, uuid,siteKey, children,\r\n defaultSort , promoTiles = false, theme,\r\n withProductAttributes = false, isInfiniteScroll = false, getTitle,\r\n useFilters, noReport = false, customTitleChange,\r\n isEnterpriseMerchandising = false, subscription = 0,\r\n marketContext = null,\r\n ...props\r\n }) => {\r\n const [state, dispatch] = (useReducer as any)?.(fastStateReducer, {\r\n isReady: false,\r\n type: props.type ?? 'SPA',\r\n page: 1,\r\n query: '',\r\n sortBy: defaultSort,\r\n isLoading: {\r\n products: false,\r\n filters: false,\r\n },\r\n collectionID: props.collectionID,\r\n narrow: undefined,\r\n results: undefined,\r\n recommendations: {},\r\n singleProducts: {},\r\n searchWithinSearch: \"\",\r\n segments: undefined,\r\n flag:[],\r\n custom_sort_settings:undefined,\r\n isAutocomplete:false\r\n });\r\n\r\n const [categories, setCategories] = useState<FastCategory[]>([]);\r\n const [analyticsFetched, setAnalyticsFetched] = useState(false);\r\n const [lastAnalyticsQuery, setLastAnalyticsQuery] = useState<string>('');\r\n const [lastAnalyticsCollection, setLastAnalyticsCollection] = useState<string>('');\r\n const [lastAnalyticsMode, setLastAnalyticsMode] = useState<'search' | 'collection' | ''>('');\r\n\r\n // Only enable analytics for enterprise merchants or subscription level 5\r\n const isAnalyticsEnabled = isEnterpriseMerchandising || subscription === 5;\r\n\r\n const {results, isLoading, query, sortBy, type, collectionID, page, narrow, recommendations, singleProducts, isReady, autocomplete, segments,isAutocomplete\r\n\r\n } = state;\r\n\r\n function setResults(results: FullTextServerResponseAll | smartCollectionsResults | AutocompleteReasoningResponse | undefined) {\r\n (dispatch as any)?.({type: 'setResults', payload: results});\r\n }\r\n\r\n function mergeResults(results: FullTextServerResponseAll | smartCollectionsResults | AutocompleteReasoningResponse, infiniteScroll: boolean) {\r\n (dispatch as any)?.({type: 'mergeResults', payload: {results, infiniteScroll}});\r\n }\r\n function mergeFacetsWithResults(facets:Narrow[]) {\r\n (dispatch as any)?.({type: 'mergeFacetsWithResults', payload: facets});\r\n }\r\n\r\n function mergeResultsKeepProduct(results: FullTextServerResponseAll | smartCollectionsResults) {\r\n (dispatch as any)?.({type: 'mergeResultsKeepProduct', payload: {results}});\r\n }\r\n\r\n function setIsLoading(isLoading: IsLoading) {\r\n (dispatch as any)?.({type: 'setIsLoading', payload: isLoading});\r\n }\r\n\r\n function setIsAutocomplete(isAutocomplete:boolean)\r\n {\r\n (dispatch as any)?.({type: 'setIsAutocomplete', payload: isAutocomplete});\r\n }\r\n\r\n function setQuery(query: string , isAutocomplete?:boolean) {\r\n (dispatch as any)?.({type: 'setQuery', payload: query});\r\n (dispatch as any)?.({type: 'setIsAutocomplete', payload: isAutocomplete?isAutocomplete:false});\r\n\r\n // Create the object with the computed property\r\n let fetchParams = {\r\n siteKey:siteKey,\r\n uuid:uuid,\r\n storeID:storeID,\r\n term: query,\r\n sortBy: defaultSort,\r\n segments: state.segments,\r\n withProductAttributes:withProductAttributes,\r\n custom_sort_settings:state.custom_sort_settings,\r\n disable_merchandising:state.flag.find((f:string)=>f==\"disable_merchandising\")?1:0,\r\n disable_semantics:state.flag.find((f:string)=>f==\"disable_semantics\")?1:0,\r\n disable_turbolinks:state.flag.find((f:string)=>f==\"disable_turbolinks\")?1:0,\r\n disable_strategies:state.flag.find((f:string)=>f==\"disable_strategies\")?1:0,\r\n disable_merchandising_rules:state.flag.find((f:string)=>f==\"disable_merchandising_rules\")?1:0,\r\n disable_antonyms:state.flag.find((f:string)=>f==\"disable_antonyms\")?1:0,\r\n };\r\n\r\n fetchResults(fetchParams, isInfiniteScroll,isAutocomplete?isAutocomplete:false);\r\n }\r\n function setCustomSort(customSortSettings:CustomSortSettings) {\r\n (dispatch as any)?.({type: 'setCustomSort', payload: customSortSettings});\r\n // Create the object with the computed property\r\n let fetchParams = {\r\n siteKey:siteKey,\r\n uuid:uuid,\r\n storeID:storeID,\r\n term: state.query,\r\n narrowBy: state.narrow,\r\n sortBy: state.sortBy,\r\n categoryID: state.collectionID,\r\n segments: state.segments,\r\n withProductAttributes:state.withProductAttributes,\r\n searchWithinSearch:state.searchWithinSearch,\r\n custom_sort_settings:customSortSettings,\r\n disable_merchandising:state.flag.find((f:string)=>f==\"disable_merchandising\")?1:0,\r\n disable_semantics:state.flag.find((f:string)=>f==\"disable_semantics\")?1:0,\r\n disable_turbolinks:state.flag.find((f:string)=>f==\"disable_turbolinks\")?1:0,\r\n disable_strategies:state.flag.find((f:string)=>f==\"disable_strategies\")?1:0,\r\n disable_merchandising_rules:state.flag.find((f:string)=>f==\"disable_merchandising_rules\")?1:0,\r\n disable_antonyms:state.flag.find((f:string)=>f==\"disable_antonyms\")?1:0,\r\n };\r\n\r\n fetchResults(fetchParams, isInfiniteScroll);\r\n\r\n }\r\n\r\n function setFlag(flags: string[]) {\r\n const flagsToData=flags.map((f)=>{return \"disable_\" + f;});\r\n (dispatch as any)?.({type: 'setFlag', payload: flagsToData });\r\n\r\n // Create the object with the computed property\r\n let fetchParams = {\r\n siteKey:siteKey,\r\n uuid: uuid,\r\n storeID: storeID,\r\n term: state.query,\r\n narrowBy: state.narrow,\r\n sortBy: state.defaultSort,\r\n segments: state.segments,\r\n categoryID: state.collectionID,\r\n withProductAttributes: withProductAttributes,\r\n searchWithinSearch:state.searchWithinSearch,\r\n custom_sort_settings:state.custom_sort_settings,\r\n };\r\n\r\n if(flags.length>0)\r\n {\r\n flags.forEach((f)=>{\r\n let flagProp = \"disable_\" + f;\r\n // Add the dynamic key to the object\r\n // @ts-ignore\r\n fetchParams[flagProp as any] = true;\r\n });\r\n }\r\n\r\n\r\n fetchResults(fetchParams, isInfiniteScroll,state.isAutocomplete);\r\n }\r\n\r\n function setSortBy(sortBy: SortBy) {\r\n (dispatch as any)?.({type: 'setSortBy', payload: sortBy});\r\n // Create the object with the computed property\r\n let fetchParams = {\r\n siteKey:siteKey,\r\n uuid:uuid,\r\n storeID:storeID,\r\n term: state.query,\r\n narrowBy: state.narrow,\r\n sortBy: sortBy,\r\n categoryID: state.collectionID,\r\n segments: state.segments,\r\n withProductAttributes:withProductAttributes,\r\n searchWithinSearch:state.searchWithinSearch,\r\n custom_sort_settings:state.custom_sort_settings,\r\n disable_merchandising:state.flag.find((f:string)=>f==\"disable_merchandising\")?1:0,\r\n disable_semantics:state.flag.find((f:string)=>f==\"disable_semantics\")?1:0,\r\n disable_turbolinks:state.flag.find((f:string)=>f==\"disable_turbolinks\")?1:0,\r\n disable_strategies:state.flag.find((f:string)=>f==\"disable_strategies\")?1:0,\r\n disable_merchandising_rules:state.flag.find((f:string)=>f==\"disable_merchandising_rules\")?1:0,\r\n disable_antonyms:state.flag.find((f:string)=>f==\"disable_antonyms\")?1:0,\r\n };\r\n\r\n fetchResults(fetchParams, isInfiniteScroll);\r\n\r\n }\r\n function setSegments(segments: string[]) {\r\n (dispatch as any)?.({type: 'setSegments', payload: segments});\r\n\r\n let fetchParams = {\r\n withProductAttributes:withProductAttributes,\r\n siteKey:siteKey,\r\n uuid:uuid,\r\n storeID:storeID,\r\n term: state.query,\r\n narrowBy: state.narrow,\r\n sortBy: state.sortBy,\r\n categoryID: state.collectionID,\r\n segments: segments,\r\n searchWithinSearch:state.searchWithinSearch,\r\n custom_sort_settings:state.custom_sort_settings,\r\n disable_merchandising:state.flag.find((f:string)=>f==\"disable_merchandising\")?1:0,\r\n disable_semantics:state.flag.find((f:string)=>f==\"disable_semantics\")?1:0,\r\n disable_turbolinks:state.flag.find((f:string)=>f==\"disable_turbolinks\")?1:0,\r\n disable_strategies:state.flag.find((f:string)=>f==\"disable_strategies\")?1:0,\r\n disable_merchandising_rules:state.flag.find((f:string)=>f==\"disable_merchandising_rules\")?1:0,\r\n disable_antonyms:state.flag.find((f:string)=>f==\"disable_antonyms\")?1:0,\r\n };\r\n\r\n fetchResults(fetchParams, isInfiniteScroll,state.isAutocomplete);\r\n\r\n }\r\n function setType(type: AppType) {\r\n (dispatch as any)?.({type: 'setType', payload: type});\r\n }\r\n\r\n function setCollectionID(collectionID: string) {\r\n (dispatch as any)?.({type: 'setCollectionID', payload: collectionID});\r\n (dispatch as any)?.({type: 'setIsAutocomplete', payload: false});\r\n\r\n // Create the object with the computed property\r\n let fetchParams = {\r\n siteKey:siteKey,\r\n uuid:uuid,\r\n storeID:storeID,\r\n categoryID: collectionID,\r\n sortBy: defaultSort,\r\n segments: state.segments,\r\n custom_sort_settings:state.custom_sort_settings,\r\n disable_merchandising:state.flag.find((f:string)=>f==\"disable_merchandising\")?1:0,\r\n disable_semantics:state.flag.find((f:string)=>f==\"disable_semantics\")?1:0,\r\n disable_turbolinks:state.flag.find((f:string)=>f==\"disable_turbolinks\")?1:0,\r\n disable_strategies:state.flag.find((f:string)=>f==\"disable_strategies\")?1:0,\r\n disable_merchandising_rules:state.flag.find((f:string)=>f==\"disable_merchandising_rules\")?1:0,\r\n disable_antonyms:state.flag.find((f:string)=>f==\"disable_antonyms\")?1:0,\r\n };\r\n\r\n fetchResults(fetchParams, isInfiniteScroll);\r\n\r\n }\r\n\r\n function setPage(page: number) {\r\n (dispatch as any)?.({type: 'setPage', payload: page});\r\n\r\n let fetchParams = {\r\n withProductAttributes:withProductAttributes,\r\n siteKey:siteKey,\r\n uuid:uuid,\r\n storeID:storeID,\r\n term: state.query,\r\n narrowBy: state.narrow,\r\n sortBy: state.sortBy,\r\n categoryID: state.collectionID,\r\n page: page,\r\n segments: state.segments,\r\n searchWithinSearch:state.searchWithinSearch,\r\n custom_sort_settings:state.custom_sort_settings,\r\n disable_merchandising:state.flag.find((f:string)=>f==\"disable_merchandising\")?1:0,\r\n disable_semantics:state.flag.find((f:string)=>f==\"disable_semantics\")?1:0,\r\n disable_turbolinks:state.flag.find((f:string)=>f==\"disable_turbolinks\")?1:0,\r\n disable_strategies:state.flag.find((f:string)=>f==\"disable_strategies\")?1:0,\r\n disable_merchandising_rules:state.flag.find((f:string)=>f==\"disable_merchandising_rules\")?1:0,\r\n disable_antonyms:state.flag.find((f:string)=>f==\"disable_antonyms\")?1:0,\r\n };\r\n\r\n fetchResults(fetchParams, isInfiniteScroll);\r\n\r\n }\r\n\r\n function setNarrow(narrow: ServerNarrow[] | undefined) {\r\n (dispatch as any)?.({type: 'setNarrow', payload: narrow});\r\n\r\n let fetchParams = {\r\n withProductAttributes:withProductAttributes,\r\n siteKey:siteKey,\r\n uuid:uuid,\r\n storeID:storeID,\r\n term: state.query,\r\n narrowBy: narrow,\r\n sortBy: state.sortBy,\r\n categoryID: state.collectionID,\r\n segments: state.segments,\r\n searchWithinSearch:state.searchWithinSearch,\r\n custom_sort_settings:state.custom_sort_settings,\r\n disable_merchandising:state.flag.find((f:string)=>f==\"disable_merchandising\")?1:0,\r\n disable_semantics:state.flag.find((f:string)=>f==\"disable_semantics\")?1:0,\r\n disable_turbolinks:state.flag.find((f:string)=>f==\"disable_turbolinks\")?1:0,\r\n disable_strategies:state.flag.find((f:string)=>f==\"disable_strategies\")?1:0,\r\n disable_merchandising_rules:state.flag.find((f:string)=>f==\"disable_merchandising_rules\")?1:0,\r\n disable_antonyms:state.flag.find((f:string)=>f==\"disable_antonyms\")?1:0,\r\n };\r\n\r\n fetchResults(fetchParams, isInfiniteScroll);\r\n\r\n }\r\n\r\n function setState({...newState}: SetStateProps) {\r\n console.log(\"state\", state);\r\n console.log(\"setState\", newState);\r\n\r\n (dispatch as any)?.({type: 'setState', payload: newState});\r\n\r\n fetchResults({\r\n siteKey:siteKey,\r\n uuid:uuid,\r\n storeID:storeID,\r\n term: newState.query,\r\n narrowBy: newState.narrow?newState.narrow:undefined,\r\n sortBy: newState.sortBy ?? defaultSort,\r\n categoryID: newState.collectionID,\r\n page: newState.page,\r\n segments: newState.segments,\r\n }, Boolean(!results && isInfiniteScroll && newState.page && newState.page > 1));\r\n }\r\n\r\n\r\n function setSingleProducts(products: Product[]) {\r\n (dispatch as any)?.({type: \"setSingleProducts\", payload: products});\r\n }\r\n\r\n\r\n function setReady(isReady: boolean) {\r\n (dispatch as any)?.({type: \"setReady\", payload: isReady});\r\n }\r\n\r\n function setSearchWithinSearch(searchWithinSearch: string) {\r\n (dispatch as any)?.({type: \"setSearchWithinSearch\", payload: searchWithinSearch});\r\n\r\n let fetchParams = {\r\n withProductAttributes:withProductAttributes,\r\n siteKey:siteKey,\r\n uuid:uuid,\r\n storeID:storeID,\r\n term: query,\r\n narrowBy: state.narrow,\r\n sortBy: state.sortBy,\r\n categoryID: state.collectionID,\r\n segments: state.segments,\r\n searchWithinSearch:searchWithinSearch,\r\n custom_sort_settings:state.custom_sort_settings,\r\n disable_merchandising:state.flag.find((f:string)=>f==\"disable_merchandising\")?1:0,\r\n disable_semantics:state.flag.find((f:string)=>f==\"disable_semantics\")?1:0,\r\n disable_turbolinks:state.flag.find((f:string)=>f==\"disable_turbolinks\")?1:0,\r\n disable_strategies:state.flag.find((f:string)=>f==\"disable_strategies\")?1:0,\r\n disable_merchandising_rules:state.flag.find((f:string)=>f==\"disable_merchandising_rules\")?1:0,\r\n disable_antonyms:state.flag.find((f:string)=>f==\"disable_antonyms\")?1:0,\r\n };\r\n\r\n fetchResults(fetchParams, isInfiniteScroll);\r\n\r\n }\r\n\r\n function fetchResults(props:{\r\n uuid:string, storeID:number,siteKey?:string, term?: string, page?: number, narrowBy?: ServerNarrow[] | undefined,\r\n sortBy?: SortBy, categoryID?: string, searchWithinSearch?: string, segments?: string[] ,withProductAttributes?:boolean,\r\n disable_semantics?:number,disable_merchandising?:number,disable_strategies?:number,disable_turbolinks?:number,disable_personalization?:number,custom_sort_settings?:CustomSortSettings\r\n },\r\n isInfiniteScroll: boolean,\r\n autocomplete:boolean=false) {\r\n\r\n // on first request check if we need to fetch more then 1 product\r\n\r\n if (props.term && !autocomplete) {\r\n onSearch(newObject({\r\n ...props,\r\n page: props.page || 1,\r\n infiniteScrollPage: isInfiniteScroll,\r\n }) as Omit<fullTextSearchProps, \"callback\">, isInfiniteScroll);\r\n } else if(props.term && autocomplete){\r\n onAutocompleteSearch(newObject({\r\n ...props\r\n }) as Omit<autocompleteProps, \"callback\" | \"page\" | \"narrowBy\" | \"sortBy\" | \"categoryID\" | \"searchWithinSearch\" | \"custom_sort_settings\">);\r\n } else if (props.categoryID) {\r\n onCollection(newObject({\r\n ...props,\r\n page: props.page || 1,\r\n infiniteScrollPage: isInfiniteScroll,\r\n }) as Omit<smartCollectionsProps, \"callback\">, isInfiniteScroll);\r\n }\r\n\r\n return;\r\n\r\n }\r\n\r\n\r\n\r\n useEffect(() => {\r\n function handleSetQueryEvent(event: any) {\r\n setQuery(event.detail);\r\n }\r\n\r\n function handleSetFlagEvent(event: any){\r\n setFlag(event.details)\r\n\r\n }\r\n function handleSetCollectionEvent(event: any) {\r\n setCollectionID(event.detail);\r\n }\r\n\r\n function handleSetCollectionURLEvent(event: any) {\r\n getAllCategories().then(r => {\r\n const id = r.find(c => c.u === event.detail)?.id;\r\n\r\n if (id) {\r\n setCollectionID(id);\r\n return;\r\n }\r\n\r\n window.location.href = event.detail;\r\n })\r\n }\r\n\r\n function handleSetPageEvent(event: any) {\r\n setPage(event.detail);\r\n }\r\n\r\n function handleSetSortEvent(event: any) {\r\n setSortBy(event.detail);\r\n }\r\n\r\n function handleSetNarrowEvent(event: any) {\r\n setNarrow(event.detail);\r\n }\r\n\r\n function handleSetSegmentsEvent(event: any) {\r\n setSegments(event.detail);\r\n }\r\n function handleSetIsAutocomplete(event:any){\r\n setIsAutocomplete(event.detail)\r\n }\r\n window.addEventListener('fast-simon-update-query', handleSetQueryEvent);\r\n window.addEventListener('fast-simon-update-collection', handleSetCollectionEvent);\r\n window.addEventListener('fast-simon-update-collection-url', handleSetCollectionURLEvent);\r\n window.addEventListener('fast-simon-update-page', handleSetPageEvent);\r\n window.addEventListener('fast-simon-update-sort', handleSetSortEvent);\r\n window.addEventListener('fast-simon-update-narrow', handleSetNarrowEvent);\r\n window.addEventListener('fast-simon-update-segments', handleSetSegmentsEvent);\r\n window.addEventListener('fast-simon-update-flag', handleSetFlagEvent);\r\n window.addEventListener('fast-simon-update-is-autocomplete', handleSetIsAutocomplete);\r\n\r\n return () => {\r\n window.removeEventListener('fast-simon-update-query', handleSetQueryEvent);\r\n window.removeEventListener('fast-simon-update-collection', handleSetCollectionEvent);\r\n window.removeEventListener('fast-simon-update-collection-url', handleSetCollectionURLEvent);\r\n window.removeEventListener('fast-simon-update-page', handleSetPageEvent);\r\n window.removeEventListener('fast-simon-update-sort', handleSetSortEvent);\r\n window.removeEventListener('fast-simon-update-narrow', handleSetNarrowEvent);\r\n window.removeEventListener('fast-simon-update-segments', handleSetSegmentsEvent);\r\n window.removeEventListener('fast-simon-update-flag', handleSetFlagEvent);\r\n window.removeEventListener('fast-simon-update-is-autocomplete', handleSetIsAutocomplete);\r\n }\r\n\r\n }, []);\r\n\r\n const onSearch = (props: Omit<fullTextSearchProps, \"callback\">, isInfiniteScroll: boolean) => {\r\n setIsLoading({products: true, filters: true});\r\n\r\n // Pass with_product_analytics only on first request for this query OR when switching from collection to search\r\n // AND only if merchant is enterprise or subscription level 5\r\n const currentQuery = props.term || '';\r\n const shouldFetchAnalytics = isAnalyticsEnabled && (currentQuery !== lastAnalyticsQuery || lastAnalyticsMode !== 'search');\r\n\r\n FullTextSearch.getReasoningFullTextSearch({\r\n ...props,\r\n withAttributes: promoTiles || withProductAttributes,\r\n with_product_analytics: shouldFetchAnalytics,\r\n market_context: marketContext\r\n }).then(async(response) => {\r\n // Mark analytics as fetched only if response contains analytics data with badges\r\n if (shouldFetchAnalytics && response.analytics?.badges) {\r\n setAnalyticsFetched(true);\r\n setLastAnalyticsQuery(currentQuery);\r\n setLastAnalyticsMode('search');\r\n }\r\n\r\n // Preserve existing analytics if new response doesn't have it\r\n const existingAnalytics = (results as any)?.analytics;\r\n response=getFormatedData(response, existingAnalytics);\r\n\r\n // Handle turbolink responses - skip additional API calls to prevent errors\r\n if (response.turbolink && response.totalResults === 0) {\r\n mergeResults(response, isInfiniteScroll);\r\n\r\n if (!customTitleChange) {\r\n document.title = `Search Result for ${query}`;\r\n } else {\r\n customTitleChange(results);\r\n }\r\n\r\n setIsLoading({filters: false, products: false});\r\n return;\r\n }\r\n\r\n const listIdRequestProps = { ...props };\r\n listIdRequestProps.searchWithinSearch=undefined;\r\n listIdRequestProps.productsPerPage=1000000;\r\n listIdRequestProps.page=1;\r\n listIdRequestProps.market_context = marketContext;\r\n let listIdRes=await FullTextSearch.getReasoningFullTextSearchProductsIds(listIdRequestProps).then((response)=>{\r\n return response;\r\n });\r\n response.id_list=listIdRes.id_list;\r\n\r\n const facetsRequestProps = { ...props };\r\n facetsRequestProps.facetRequired=2;\r\n facetsRequestProps.searchWithinSearch=props.searchWithinSearch;\r\n facetsRequestProps.productsPerPage=props.productsPerPage;\r\n facetsRequestProps.page=props.page;\r\n facetsRequestProps.market_context = marketContext;\r\n let facetsRes=await FullTextSearch.getReasoningFullTextSearch(facetsRequestProps).then((response)=>{\r\n return response;\r\n });\r\n response.facets=facetsRes.facets;\r\n\r\n mergeResults(response, isInfiniteScroll);\r\n\r\n if (!customTitleChange) {\r\n document.title = `Search Result for ${query}`;\r\n } else {\r\n customTitleChange(results);\r\n }\r\n\r\n if (!response) {\r\n setIsLoading({\r\n filters: true, products: false\r\n });\r\n } else {\r\n setIsLoading({\r\n filters: false, products: false\r\n });\r\n }\r\n });\r\n }\r\n const onAutocompleteSearch = (props: Omit<autocompleteProps, \"callback\">) => {\r\n setIsLoading({products: true, filters: true});\r\n Autocomplete.getAutocompleteReasoning({\r\n ...props,\r\n withAttributes: promoTiles || withProductAttributes,\r\n market_context: marketContext\r\n }).then(async(response) => {\r\n response=getFormatedData(response);\r\n\r\n mergeResults(response, false);\r\n\r\n if (!customTitleChange) {\r\n document.title = `Autocomplete Result for ${query}`;\r\n } else {\r\n customTitleChange(results);\r\n }\r\n\r\n if (!response) {\r\n setIsLoading({\r\n filters: true, products: false\r\n });\r\n } else {\r\n setIsLoading({\r\n filters: false, products: false\r\n });\r\n }\r\n });\r\n }\r\n\r\n const onCollection = (props: Omit<smartCollectionsProps, \"callback\">, isInfiniteScroll: boolean) => {\r\n setIsLoading({products: true, filters: true});\r\n\r\n // Pass with_product_analytics only on first request for this collection OR when switching from search to collection\r\n // AND only if merchant is enterprise or subscription level 5\r\n const currentCollection = props.categoryID || '';\r\n const shouldFetchAnalytics = isAnalyticsEnabled && (currentCollection !== lastAnalyticsCollection || lastAnalyticsMode !== 'collection');\r\n\r\n SmartCollections.getSmartCollections({\r\n ...props,\r\n withAttributes: promoTiles || withProductAttributes,\r\n with_product_analytics: shouldFetchAnalytics,\r\n market_context: marketContext})\r\n .then( async (response) => {\r\n // Mark analytics as fetched only if response contains analytics data with badges\r\n if (shouldFetchAnalytics && response.analytics?.badges) {\r\n setAnalyticsFetched(true);\r\n setLastAnalyticsCollection(currentCollection);\r\n setLastAnalyticsMode('collection');\r\n }\r\n\r\n // Preserve existing analytics if new response doesn't have it\r\n const existingAnalytics = (results as any)?.analytics;\r\n response=getFormatedData(response, existingAnalytics);\r\n\r\n const listIdRequestProps = { ...props };\r\n listIdRequestProps.searchWithinSearch=undefined;\r\n listIdRequestProps.productsPerPage=1000000;\r\n listIdRequestProps.page=1;\r\n listIdRequestProps.market_context = marketContext;\r\n let listIdRes=await SmartCollections.getSmartCollectionsProductsIds(listIdRequestProps).then((response)=>{\r\n return response;\r\n });\r\n response.id_list=listIdRes.id_list;\r\n\r\n const facetsRequestProps = { ...props };\r\n facetsRequestProps.facetRequired=2;\r\n facetsRequestProps.searchWithinSearch=props.searchWithinSearch;\r\n facetsRequestProps.productsPerPage=props.productsPerPage;\r\n facetsRequestProps.page=props.page;\r\n facetsRequestProps.market_context = marketContext;\r\n let facetsRes= await SmartCollections.getSmartCollections(facetsRequestProps).then((response)=>{\r\n return response;\r\n });\r\n response.facets=facetsRes.facets;\r\n\r\n mergeResults(response, isInfiniteScroll);\r\n\r\n if (!response) {\r\n setIsLoading({\r\n filters: true, products: false\r\n });\r\n } else {\r\n setIsLoading({\r\n filters: false, products: false\r\n });\r\n }\r\n\r\n getAllCategories().then(r => {\r\n if (!customTitleChange) {\r\n document.title = r.find(c => c.id === props.categoryID)?.l ?? \"Collection\";\r\n } else {\r\n customTitleChange(results);\r\n }\r\n });\r\n }).then(()=>{\r\n\r\n });\r\n }\r\n\r\n const getAllCategories = async () => {\r\n if (categories.length > 0) {\r\n return new Promise<FastCategory[]>(resolve => resolve(categories))\r\n }\r\n\r\n const data = categories || [];\r\n\r\n setCategories(data)\r\n\r\n return data;\r\n }\r\n\r\n const getFormatedData = (response: any, existingAnalytics?: any) => {\r\n const results = response;\r\n\r\n results.products = response.items;\r\n delete results.items;\r\n results.totalResults = response.total_results;\r\n delete results.total_results;\r\n if (response.sort_by) {\r\n results.sortBy = response.sort_by;\r\n delete results.sort_by;\r\n }\r\n\r\n if (response.pop_products_no_results) {\r\n results.isNoResults = true;\r\n }\r\n\r\n if (response.total_p) {\r\n results.pageCount = response.total_p;\r\n delete results.total_p;\r\n }\r\n\r\n\r\n if (response.ancestor_categories) {\r\n results.ancestors = response.ancestor_categories;\r\n delete results.ancestor_categories;\r\n }\r\n\r\n if (response.avoid_tag_prefixes) {\r\n results.avoidPrefixList = response.avoid_tag_prefixes.split(\",\");\r\n }\r\n\r\n\r\n results.page = response.p || 1;\r\n delete results.p;\r\n\r\n // Preserve analytics field if present (contains winners/overexposed data)\r\n // If response has new analytics, use it; otherwise keep existing analytics\r\n if (response.analytics) {\r\n results.analytics = response.analytics;\r\n } else if (existingAnalytics) {\r\n results.analytics = existingAnalytics;\r\n }\r\n\r\n return results;\r\n };\r\n\r\n\r\n // @ts-ignore\r\n return (\r\n <FastStateFunctions.Provider\r\n value={{\r\n setQuery,\r\n setSort: setSortBy,\r\n setNarrow,\r\n setPage,\r\n getAllCategories,\r\n setCollection: setCollectionID,\r\n setState,\r\n setSearchWithinSearch,\r\n setSegments,\r\n setFlag,\r\n setCustomSort,\r\n setIsAutocomplete\r\n }}>\r\n <FastState.Provider\r\n value={{narrow, results, page, query, sortBy, type, collectionID, isLoading, recommendations, singleProducts, isReady, autocomplete, isAutocomplete}}>\r\n <ThemeProvider theme={{...mainTheme, ...theme}}>\r\n {children}\r\n </ThemeProvider>\r\n </FastState.Provider>\r\n </FastStateFunctions.Provider>\r\n )\r\n};\r\n\r\nexport default FastSimonApi;"]}
|
|
1
|
+
{"version":3,"file":"FastSimonApi.js","sourceRoot":"","sources":["../../../src/components/FastSimonApi/FastSimonApi.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {useEffect, useReducer, useState} from \"react\";\nimport {CustomSortSettings, FastState, FastStateFunctions, IsLoading, SetStateProps} from \"./context\";\nimport {ThemeProvider} from \"react-jss\";\nimport {fastStateReducer} from \"./reducer\";\nimport {newObject} from \"../common\";\n\nimport {SortBy} from \"../../@types/sortBy\";\nimport {fullTextSearchProps, FullTextServerResponseAll} from \"../../@types/results\";\n\nimport {Product} from \"../../@types/product\";\nimport {FastCategory, smartCollectionsProps, smartCollectionsResults} from \"../../@types/categories\";\nimport {Narrow, ServerNarrow} from \"../../@types/narrow\";\nimport {FullTextSearch} from \"../../services/search\";\nimport {SmartCollections} from \"../../services/smartCollections\";\nimport {autocompleteProps, AutocompleteReasoningResponse} from \"../../@types/autocomplete\";\nimport {Autocomplete} from \"../../services/autocomplete\";\n\nexport type AppType = \"SPA\" | \"MPA\";\n\ninterface Props {\n storeID: number;\n uuid: string;\n type?: AppType;\n onReady?: VoidFunction;\n cartToken?: string;\n defaultSort?: SortBy\n collectionID?: string\n withProductAttributes?: boolean\n promoTiles?: boolean\n getTitle?: ({}: { categoryID?: string, query?: string }) => string\n isInfiniteScroll?: boolean\n useFilters?: boolean\n noReport?: boolean\n customTitleChange?: (results?: FullTextServerResponseAll | smartCollectionsResults) => void\n theme?: Partial<MainTheme>\n children?: React.ReactNode;\n siteKey?:string\n isEnterpriseMerchandising?: boolean;\n subscription?: number;\n marketContext?: string | null; // Region code for market-specific product filtering (e.g., \"US\", \"CA\", \"UK\")\n}\n\nexport interface MainTheme {\n primaryColor: string\n lighterPrimary: string\n successGreen: string\n errorRed: string\n loadingYellow: string,\n}\n\nconst mainTheme: MainTheme = {\n primaryColor: \"#1976d2\",\n lighterPrimary: \"rgba(25,118,210,0.71)\",\n successGreen: \"#4BB543\",\n errorRed: \"#ff0033\",\n loadingYellow: \"#f3b706\",\n}\n\n\nconst FastSimonApi: React.FC<Props> = ({\n storeID, uuid,siteKey, children,\n defaultSort , promoTiles = false, theme,\n withProductAttributes = false, isInfiniteScroll = false, getTitle,\n useFilters, noReport = false, customTitleChange,\n isEnterpriseMerchandising = false, subscription = 0,\n marketContext = null,\n ...props\n }) => {\n const [state, dispatch] = (useReducer as any)?.(fastStateReducer, {\n isReady: false,\n type: props.type ?? 'SPA',\n page: 1,\n query: '',\n sortBy: defaultSort,\n isLoading: {\n products: false,\n filters: false,\n },\n collectionID: props.collectionID,\n narrow: undefined,\n results: undefined,\n recommendations: {},\n singleProducts: {},\n searchWithinSearch: \"\",\n segments: undefined,\n flag:[],\n custom_sort_settings:undefined,\n isAutocomplete:false\n });\n\n const [categories, setCategories] = useState<FastCategory[]>([]);\n const [analyticsFetched, setAnalyticsFetched] = useState(false);\n const [lastAnalyticsQuery, setLastAnalyticsQuery] = useState<string>('');\n const [lastAnalyticsCollection, setLastAnalyticsCollection] = useState<string>('');\n const [lastAnalyticsMode, setLastAnalyticsMode] = useState<'search' | 'collection' | ''>('');\n\n // Only enable analytics for enterprise merchants or subscription level 5\n const isAnalyticsEnabled = isEnterpriseMerchandising || subscription === 5;\n\n const {results, isLoading, query, sortBy, type, collectionID, page, narrow, recommendations, singleProducts, isReady, autocomplete, segments,isAutocomplete\n\n } = state;\n\n function setResults(results: FullTextServerResponseAll | smartCollectionsResults | AutocompleteReasoningResponse | undefined) {\n (dispatch as any)?.({type: 'setResults', payload: results});\n }\n\n function mergeResults(results: FullTextServerResponseAll | smartCollectionsResults | AutocompleteReasoningResponse, infiniteScroll: boolean) {\n (dispatch as any)?.({type: 'mergeResults', payload: {results, infiniteScroll}});\n }\n function mergeFacetsWithResults(facets:Narrow[]) {\n (dispatch as any)?.({type: 'mergeFacetsWithResults', payload: facets});\n }\n\n function mergeResultsKeepProduct(results: FullTextServerResponseAll | smartCollectionsResults) {\n (dispatch as any)?.({type: 'mergeResultsKeepProduct', payload: {results}});\n }\n\n function setIsLoading(isLoading: IsLoading) {\n (dispatch as any)?.({type: 'setIsLoading', payload: isLoading});\n }\n\n function setIsAutocomplete(isAutocomplete:boolean)\n {\n (dispatch as any)?.({type: 'setIsAutocomplete', payload: isAutocomplete});\n }\n\n function setQuery(query: string , isAutocomplete?:boolean) {\n (dispatch as any)?.({type: 'setQuery', payload: query});\n (dispatch as any)?.({type: 'setIsAutocomplete', payload: isAutocomplete?isAutocomplete:false});\n\n // Create the object with the computed property\n let fetchParams = {\n siteKey:siteKey,\n uuid:uuid,\n storeID:storeID,\n term: query,\n sortBy: defaultSort,\n segments: state.segments,\n withProductAttributes:withProductAttributes,\n custom_sort_settings:state.custom_sort_settings,\n disable_merchandising:state.flag.find((f:string)=>f==\"disable_merchandising\")?1:0,\n disable_semantics:state.flag.find((f:string)=>f==\"disable_semantics\")?1:0,\n disable_turbolinks:state.flag.find((f:string)=>f==\"disable_turbolinks\")?1:0,\n disable_strategies:state.flag.find((f:string)=>f==\"disable_strategies\")?1:0,\n disable_merchandising_rules:state.flag.find((f:string)=>f==\"disable_merchandising_rules\")?1:0,\n disable_antonyms:state.flag.find((f:string)=>f==\"disable_antonyms\")?1:0,\n };\n\n fetchResults(fetchParams, isInfiniteScroll,isAutocomplete?isAutocomplete:false);\n }\n function setCustomSort(customSortSettings:CustomSortSettings) {\n (dispatch as any)?.({type: 'setCustomSort', payload: customSortSettings});\n // Create the object with the computed property\n let fetchParams = {\n siteKey:siteKey,\n uuid:uuid,\n storeID:storeID,\n term: state.query,\n narrowBy: state.narrow,\n sortBy: state.sortBy,\n categoryID: state.collectionID,\n segments: state.segments,\n withProductAttributes:state.withProductAttributes,\n searchWithinSearch:state.searchWithinSearch,\n custom_sort_settings:customSortSettings,\n disable_merchandising:state.flag.find((f:string)=>f==\"disable_merchandising\")?1:0,\n disable_semantics:state.flag.find((f:string)=>f==\"disable_semantics\")?1:0,\n disable_turbolinks:state.flag.find((f:string)=>f==\"disable_turbolinks\")?1:0,\n disable_strategies:state.flag.find((f:string)=>f==\"disable_strategies\")?1:0,\n disable_merchandising_rules:state.flag.find((f:string)=>f==\"disable_merchandising_rules\")?1:0,\n disable_antonyms:state.flag.find((f:string)=>f==\"disable_antonyms\")?1:0,\n };\n\n fetchResults(fetchParams, isInfiniteScroll);\n\n }\n\n function setFlag(flags: string[]) {\n const flagsToData=flags.map((f)=>{return \"disable_\" + f;});\n (dispatch as any)?.({type: 'setFlag', payload: flagsToData });\n\n // Create the object with the computed property\n let fetchParams = {\n siteKey:siteKey,\n uuid: uuid,\n storeID: storeID,\n term: state.query,\n narrowBy: state.narrow,\n sortBy: state.defaultSort,\n segments: state.segments,\n categoryID: state.collectionID,\n withProductAttributes: withProductAttributes,\n searchWithinSearch:state.searchWithinSearch,\n custom_sort_settings:state.custom_sort_settings,\n };\n\n if(flags.length>0)\n {\n flags.forEach((f)=>{\n let flagProp = \"disable_\" + f;\n // Add the dynamic key to the object\n // @ts-ignore\n fetchParams[flagProp as any] = true;\n });\n }\n\n\n fetchResults(fetchParams, isInfiniteScroll,state.isAutocomplete);\n }\n\n function setSortBy(sortBy: SortBy) {\n (dispatch as any)?.({type: 'setSortBy', payload: sortBy});\n // Create the object with the computed property\n let fetchParams = {\n siteKey:siteKey,\n uuid:uuid,\n storeID:storeID,\n term: state.query,\n narrowBy: state.narrow,\n sortBy: sortBy,\n categoryID: state.collectionID,\n segments: state.segments,\n withProductAttributes:withProductAttributes,\n searchWithinSearch:state.searchWithinSearch,\n custom_sort_settings:state.custom_sort_settings,\n disable_merchandising:state.flag.find((f:string)=>f==\"disable_merchandising\")?1:0,\n disable_semantics:state.flag.find((f:string)=>f==\"disable_semantics\")?1:0,\n disable_turbolinks:state.flag.find((f:string)=>f==\"disable_turbolinks\")?1:0,\n disable_strategies:state.flag.find((f:string)=>f==\"disable_strategies\")?1:0,\n disable_merchandising_rules:state.flag.find((f:string)=>f==\"disable_merchandising_rules\")?1:0,\n disable_antonyms:state.flag.find((f:string)=>f==\"disable_antonyms\")?1:0,\n };\n\n fetchResults(fetchParams, isInfiniteScroll);\n\n }\n function setSegments(segments: string[]) {\n (dispatch as any)?.({type: 'setSegments', payload: segments});\n\n let fetchParams = {\n withProductAttributes:withProductAttributes,\n siteKey:siteKey,\n uuid:uuid,\n storeID:storeID,\n term: state.query,\n narrowBy: state.narrow,\n sortBy: state.sortBy,\n categoryID: state.collectionID,\n segments: segments,\n searchWithinSearch:state.searchWithinSearch,\n custom_sort_settings:state.custom_sort_settings,\n disable_merchandising:state.flag.find((f:string)=>f==\"disable_merchandising\")?1:0,\n disable_semantics:state.flag.find((f:string)=>f==\"disable_semantics\")?1:0,\n disable_turbolinks:state.flag.find((f:string)=>f==\"disable_turbolinks\")?1:0,\n disable_strategies:state.flag.find((f:string)=>f==\"disable_strategies\")?1:0,\n disable_merchandising_rules:state.flag.find((f:string)=>f==\"disable_merchandising_rules\")?1:0,\n disable_antonyms:state.flag.find((f:string)=>f==\"disable_antonyms\")?1:0,\n };\n\n fetchResults(fetchParams, isInfiniteScroll,state.isAutocomplete);\n\n }\n function setType(type: AppType) {\n (dispatch as any)?.({type: 'setType', payload: type});\n }\n\n function setCollectionID(collectionID: string) {\n (dispatch as any)?.({type: 'setCollectionID', payload: collectionID});\n (dispatch as any)?.({type: 'setIsAutocomplete', payload: false});\n\n // Create the object with the computed property\n let fetchParams = {\n siteKey:siteKey,\n uuid:uuid,\n storeID:storeID,\n categoryID: collectionID,\n sortBy: defaultSort,\n segments: state.segments,\n custom_sort_settings:state.custom_sort_settings,\n disable_merchandising:state.flag.find((f:string)=>f==\"disable_merchandising\")?1:0,\n disable_semantics:state.flag.find((f:string)=>f==\"disable_semantics\")?1:0,\n disable_turbolinks:state.flag.find((f:string)=>f==\"disable_turbolinks\")?1:0,\n disable_strategies:state.flag.find((f:string)=>f==\"disable_strategies\")?1:0,\n disable_merchandising_rules:state.flag.find((f:string)=>f==\"disable_merchandising_rules\")?1:0,\n disable_antonyms:state.flag.find((f:string)=>f==\"disable_antonyms\")?1:0,\n };\n\n fetchResults(fetchParams, isInfiniteScroll);\n\n }\n\n function setPage(page: number) {\n (dispatch as any)?.({type: 'setPage', payload: page});\n\n let fetchParams = {\n withProductAttributes:withProductAttributes,\n siteKey:siteKey,\n uuid:uuid,\n storeID:storeID,\n term: state.query,\n narrowBy: state.narrow,\n sortBy: state.sortBy,\n categoryID: state.collectionID,\n page: page,\n segments: state.segments,\n searchWithinSearch:state.searchWithinSearch,\n custom_sort_settings:state.custom_sort_settings,\n disable_merchandising:state.flag.find((f:string)=>f==\"disable_merchandising\")?1:0,\n disable_semantics:state.flag.find((f:string)=>f==\"disable_semantics\")?1:0,\n disable_turbolinks:state.flag.find((f:string)=>f==\"disable_turbolinks\")?1:0,\n disable_strategies:state.flag.find((f:string)=>f==\"disable_strategies\")?1:0,\n disable_merchandising_rules:state.flag.find((f:string)=>f==\"disable_merchandising_rules\")?1:0,\n disable_antonyms:state.flag.find((f:string)=>f==\"disable_antonyms\")?1:0,\n };\n\n fetchResults(fetchParams, isInfiniteScroll);\n\n }\n\n function setNarrow(narrow: ServerNarrow[] | undefined) {\n (dispatch as any)?.({type: 'setNarrow', payload: narrow});\n\n let fetchParams = {\n withProductAttributes:withProductAttributes,\n siteKey:siteKey,\n uuid:uuid,\n storeID:storeID,\n term: state.query,\n narrowBy: narrow,\n sortBy: state.sortBy,\n categoryID: state.collectionID,\n segments: state.segments,\n searchWithinSearch:state.searchWithinSearch,\n custom_sort_settings:state.custom_sort_settings,\n disable_merchandising:state.flag.find((f:string)=>f==\"disable_merchandising\")?1:0,\n disable_semantics:state.flag.find((f:string)=>f==\"disable_semantics\")?1:0,\n disable_turbolinks:state.flag.find((f:string)=>f==\"disable_turbolinks\")?1:0,\n disable_strategies:state.flag.find((f:string)=>f==\"disable_strategies\")?1:0,\n disable_merchandising_rules:state.flag.find((f:string)=>f==\"disable_merchandising_rules\")?1:0,\n disable_antonyms:state.flag.find((f:string)=>f==\"disable_antonyms\")?1:0,\n };\n\n fetchResults(fetchParams, isInfiniteScroll);\n\n }\n\n function setState({...newState}: SetStateProps) {\n console.log(\"state\", state);\n console.log(\"setState\", newState);\n\n (dispatch as any)?.({type: 'setState', payload: newState});\n\n fetchResults({\n siteKey:siteKey,\n uuid:uuid,\n storeID:storeID,\n term: newState.query,\n narrowBy: newState.narrow?newState.narrow:undefined,\n sortBy: newState.sortBy ?? defaultSort,\n categoryID: newState.collectionID,\n page: newState.page,\n segments: newState.segments,\n }, Boolean(!results && isInfiniteScroll && newState.page && newState.page > 1));\n }\n\n\n function setSingleProducts(products: Product[]) {\n (dispatch as any)?.({type: \"setSingleProducts\", payload: products});\n }\n\n\n function setReady(isReady: boolean) {\n (dispatch as any)?.({type: \"setReady\", payload: isReady});\n }\n\n function setSearchWithinSearch(searchWithinSearch: string) {\n (dispatch as any)?.({type: \"setSearchWithinSearch\", payload: searchWithinSearch});\n\n let fetchParams = {\n withProductAttributes:withProductAttributes,\n siteKey:siteKey,\n uuid:uuid,\n storeID:storeID,\n term: query,\n narrowBy: state.narrow,\n sortBy: state.sortBy,\n categoryID: state.collectionID,\n segments: state.segments,\n searchWithinSearch:searchWithinSearch,\n custom_sort_settings:state.custom_sort_settings,\n disable_merchandising:state.flag.find((f:string)=>f==\"disable_merchandising\")?1:0,\n disable_semantics:state.flag.find((f:string)=>f==\"disable_semantics\")?1:0,\n disable_turbolinks:state.flag.find((f:string)=>f==\"disable_turbolinks\")?1:0,\n disable_strategies:state.flag.find((f:string)=>f==\"disable_strategies\")?1:0,\n disable_merchandising_rules:state.flag.find((f:string)=>f==\"disable_merchandising_rules\")?1:0,\n disable_antonyms:state.flag.find((f:string)=>f==\"disable_antonyms\")?1:0,\n };\n\n fetchResults(fetchParams, isInfiniteScroll);\n\n }\n\n function fetchResults(props:{\n uuid:string, storeID:number,siteKey?:string, term?: string, page?: number, narrowBy?: ServerNarrow[] | undefined,\n sortBy?: SortBy, categoryID?: string, searchWithinSearch?: string, segments?: string[] ,withProductAttributes?:boolean,\n disable_semantics?:number,disable_merchandising?:number,disable_strategies?:number,disable_turbolinks?:number,disable_personalization?:number,custom_sort_settings?:CustomSortSettings\n },\n isInfiniteScroll: boolean,\n autocomplete:boolean=false) {\n\n // on first request check if we need to fetch more then 1 product\n\n if (props.term && !autocomplete) {\n onSearch(newObject({\n ...props,\n page: props.page || 1,\n infiniteScrollPage: isInfiniteScroll,\n }) as Omit<fullTextSearchProps, \"callback\">, isInfiniteScroll);\n } else if(props.term && autocomplete){\n onAutocompleteSearch(newObject({\n ...props\n }) as Omit<autocompleteProps, \"callback\" | \"page\" | \"narrowBy\" | \"sortBy\" | \"categoryID\" | \"searchWithinSearch\" | \"custom_sort_settings\">);\n } else if (props.categoryID) {\n onCollection(newObject({\n ...props,\n page: props.page || 1,\n infiniteScrollPage: isInfiniteScroll,\n }) as Omit<smartCollectionsProps, \"callback\">, isInfiniteScroll);\n }\n\n return;\n\n }\n\n\n\n useEffect(() => {\n function handleSetQueryEvent(event: any) {\n setQuery(event.detail);\n }\n\n function handleSetFlagEvent(event: any){\n setFlag(event.details)\n\n }\n function handleSetCollectionEvent(event: any) {\n setCollectionID(event.detail);\n }\n\n function handleSetCollectionURLEvent(event: any) {\n getAllCategories().then(r => {\n const id = r.find(c => c.u === event.detail)?.id;\n\n if (id) {\n setCollectionID(id);\n return;\n }\n\n window.location.href = event.detail;\n })\n }\n\n function handleSetPageEvent(event: any) {\n setPage(event.detail);\n }\n\n function handleSetSortEvent(event: any) {\n setSortBy(event.detail);\n }\n\n function handleSetNarrowEvent(event: any) {\n setNarrow(event.detail);\n }\n\n function handleSetSegmentsEvent(event: any) {\n setSegments(event.detail);\n }\n function handleSetIsAutocomplete(event:any){\n setIsAutocomplete(event.detail)\n }\n window.addEventListener('fast-simon-update-query', handleSetQueryEvent);\n window.addEventListener('fast-simon-update-collection', handleSetCollectionEvent);\n window.addEventListener('fast-simon-update-collection-url', handleSetCollectionURLEvent);\n window.addEventListener('fast-simon-update-page', handleSetPageEvent);\n window.addEventListener('fast-simon-update-sort', handleSetSortEvent);\n window.addEventListener('fast-simon-update-narrow', handleSetNarrowEvent);\n window.addEventListener('fast-simon-update-segments', handleSetSegmentsEvent);\n window.addEventListener('fast-simon-update-flag', handleSetFlagEvent);\n window.addEventListener('fast-simon-update-is-autocomplete', handleSetIsAutocomplete);\n\n return () => {\n window.removeEventListener('fast-simon-update-query', handleSetQueryEvent);\n window.removeEventListener('fast-simon-update-collection', handleSetCollectionEvent);\n window.removeEventListener('fast-simon-update-collection-url', handleSetCollectionURLEvent);\n window.removeEventListener('fast-simon-update-page', handleSetPageEvent);\n window.removeEventListener('fast-simon-update-sort', handleSetSortEvent);\n window.removeEventListener('fast-simon-update-narrow', handleSetNarrowEvent);\n window.removeEventListener('fast-simon-update-segments', handleSetSegmentsEvent);\n window.removeEventListener('fast-simon-update-flag', handleSetFlagEvent);\n window.removeEventListener('fast-simon-update-is-autocomplete', handleSetIsAutocomplete);\n }\n\n }, []);\n\n const onSearch = (props: Omit<fullTextSearchProps, \"callback\">, isInfiniteScroll: boolean) => {\n setIsLoading({products: true, filters: true});\n\n // Pass with_product_analytics only on first request for this query OR when switching from collection to search\n // AND only if merchant is enterprise or subscription level 5\n const currentQuery = props.term || '';\n const shouldFetchAnalytics = isAnalyticsEnabled && (currentQuery !== lastAnalyticsQuery || lastAnalyticsMode !== 'search');\n\n FullTextSearch.getReasoningFullTextSearch({\n ...props,\n withAttributes: promoTiles || withProductAttributes,\n with_product_analytics: shouldFetchAnalytics,\n market_context: marketContext\n }).then(async(response) => {\n // Mark analytics as fetched only if response contains analytics data with badges\n if (shouldFetchAnalytics && response.analytics?.badges) {\n setAnalyticsFetched(true);\n setLastAnalyticsQuery(currentQuery);\n setLastAnalyticsMode('search');\n }\n\n // Preserve existing analytics if new response doesn't have it\n const existingAnalytics = (results as any)?.analytics;\n response=getFormatedData(response, existingAnalytics);\n\n // Handle turbolink responses - skip additional API calls to prevent errors\n if (response.turbolink && response.totalResults === 0) {\n mergeResults(response, isInfiniteScroll);\n\n if (!customTitleChange) {\n document.title = `Search Result for ${query}`;\n } else {\n customTitleChange(results);\n }\n\n setIsLoading({filters: false, products: false});\n return;\n }\n\n const listIdRequestProps = { ...props };\n listIdRequestProps.searchWithinSearch=undefined;\n listIdRequestProps.productsPerPage=1000000;\n listIdRequestProps.page=1;\n listIdRequestProps.market_context = marketContext;\n let listIdRes=await FullTextSearch.getReasoningFullTextSearchProductsIds(listIdRequestProps).then((response)=>{\n return response;\n });\n response.id_list=listIdRes.id_list;\n\n const facetsRequestProps = { ...props };\n facetsRequestProps.facetRequired=2;\n facetsRequestProps.searchWithinSearch=props.searchWithinSearch;\n facetsRequestProps.productsPerPage=props.productsPerPage;\n facetsRequestProps.page=props.page;\n facetsRequestProps.market_context = marketContext;\n let facetsRes=await FullTextSearch.getReasoningFullTextSearch(facetsRequestProps).then((response)=>{\n return response;\n });\n response.facets=facetsRes.facets;\n\n mergeResults(response, isInfiniteScroll);\n\n if (!customTitleChange) {\n document.title = `Search Result for ${query}`;\n } else {\n customTitleChange(results);\n }\n\n if (!response) {\n setIsLoading({\n filters: true, products: false\n });\n } else {\n setIsLoading({\n filters: false, products: false\n });\n }\n });\n }\n const onAutocompleteSearch = (props: Omit<autocompleteProps, \"callback\">) => {\n setIsLoading({products: true, filters: true});\n Autocomplete.getAutocompleteReasoning({\n ...props,\n withAttributes: promoTiles || withProductAttributes,\n market_context: marketContext\n }).then(async(response) => {\n response=getFormatedData(response);\n\n mergeResults(response, false);\n\n if (!customTitleChange) {\n document.title = `Autocomplete Result for ${query}`;\n } else {\n customTitleChange(results);\n }\n\n if (!response) {\n setIsLoading({\n filters: true, products: false\n });\n } else {\n setIsLoading({\n filters: false, products: false\n });\n }\n });\n }\n\n const onCollection = (props: Omit<smartCollectionsProps, \"callback\">, isInfiniteScroll: boolean) => {\n setIsLoading({products: true, filters: true});\n\n // Pass with_product_analytics only on first request for this collection OR when switching from search to collection\n // AND only if merchant is enterprise or subscription level 5\n const currentCollection = props.categoryID || '';\n const shouldFetchAnalytics = isAnalyticsEnabled && (currentCollection !== lastAnalyticsCollection || lastAnalyticsMode !== 'collection');\n\n SmartCollections.getSmartCollections({\n ...props,\n withAttributes: promoTiles || withProductAttributes,\n with_product_analytics: shouldFetchAnalytics,\n market_context: marketContext})\n .then( async (response) => {\n // Mark analytics as fetched only if response contains analytics data with badges\n if (shouldFetchAnalytics && response.analytics?.badges) {\n setAnalyticsFetched(true);\n setLastAnalyticsCollection(currentCollection);\n setLastAnalyticsMode('collection');\n }\n\n // Preserve existing analytics if new response doesn't have it\n const existingAnalytics = (results as any)?.analytics;\n response=getFormatedData(response, existingAnalytics);\n\n const listIdRequestProps = { ...props };\n listIdRequestProps.searchWithinSearch=undefined;\n listIdRequestProps.productsPerPage=1000000;\n listIdRequestProps.page=1;\n listIdRequestProps.market_context = marketContext;\n let listIdRes=await SmartCollections.getSmartCollectionsProductsIds(listIdRequestProps).then((response)=>{\n return response;\n });\n response.id_list=listIdRes.id_list;\n\n const facetsRequestProps = { ...props };\n facetsRequestProps.facetRequired=2;\n facetsRequestProps.searchWithinSearch=props.searchWithinSearch;\n facetsRequestProps.productsPerPage=props.productsPerPage;\n facetsRequestProps.page=props.page;\n facetsRequestProps.market_context = marketContext;\n let facetsRes= await SmartCollections.getSmartCollections(facetsRequestProps).then((response)=>{\n return response;\n });\n response.facets=facetsRes.facets;\n\n mergeResults(response, isInfiniteScroll);\n\n if (!response) {\n setIsLoading({\n filters: true, products: false\n });\n } else {\n setIsLoading({\n filters: false, products: false\n });\n }\n\n getAllCategories().then(r => {\n if (!customTitleChange) {\n document.title = r.find(c => c.id === props.categoryID)?.l ?? \"Collection\";\n } else {\n customTitleChange(results);\n }\n });\n }).then(()=>{\n\n });\n }\n\n const getAllCategories = async () => {\n if (categories.length > 0) {\n return new Promise<FastCategory[]>(resolve => resolve(categories))\n }\n\n const data = categories || [];\n\n setCategories(data)\n\n return data;\n }\n\n const getFormatedData = (response: any, existingAnalytics?: any) => {\n const results = response;\n\n results.products = response.items;\n delete results.items;\n results.totalResults = response.total_results;\n delete results.total_results;\n if (response.sort_by) {\n results.sortBy = response.sort_by;\n delete results.sort_by;\n }\n\n if (response.pop_products_no_results) {\n results.isNoResults = true;\n }\n\n if (response.total_p) {\n results.pageCount = response.total_p;\n delete results.total_p;\n }\n\n\n if (response.ancestor_categories) {\n results.ancestors = response.ancestor_categories;\n delete results.ancestor_categories;\n }\n\n if (response.avoid_tag_prefixes) {\n results.avoidPrefixList = response.avoid_tag_prefixes.split(\",\");\n }\n\n\n results.page = response.p || 1;\n delete results.p;\n\n // Preserve analytics field if present (contains winners/overexposed data)\n // If response has new analytics, use it; otherwise keep existing analytics\n if (response.analytics) {\n results.analytics = response.analytics;\n } else if (existingAnalytics) {\n results.analytics = existingAnalytics;\n }\n\n return results;\n };\n\n\n // @ts-ignore\n return (\n <FastStateFunctions.Provider\n value={{\n setQuery,\n setSort: setSortBy,\n setNarrow,\n setPage,\n getAllCategories,\n setCollection: setCollectionID,\n setState,\n setSearchWithinSearch,\n setSegments,\n setFlag,\n setCustomSort,\n setIsAutocomplete\n }}>\n <FastState.Provider\n value={{narrow, results, page, query, sortBy, type, collectionID, isLoading, recommendations, singleProducts, isReady, autocomplete, isAutocomplete}}>\n <ThemeProvider theme={{...mainTheme, ...theme}}>\n {children}\n </ThemeProvider>\n </FastState.Provider>\n </FastStateFunctions.Provider>\n )\n};\n\nexport default FastSimonApi;"]}
|
|
@@ -1,62 +1,62 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { FullTextServerResponseAll } from "../../@types/results";
|
|
3
|
-
import { ServerNarrow } from "../../@types/narrow";
|
|
4
|
-
import { SortBy } from "../../@types/sortBy";
|
|
5
|
-
import { Product } from "../../@types/product";
|
|
6
|
-
import { FastCategory, smartCollectionsResults } from "../../@types/categories";
|
|
7
|
-
import { AppType } from "./FastSimonApi";
|
|
8
|
-
import { Widget } from "../../@types/widget";
|
|
9
|
-
import { AutocompleteReasoningResponse, AutocompleteResults } from "../../@types/autocomplete";
|
|
10
|
-
export interface SetStateProps extends Partial<FastStateProps> {
|
|
11
|
-
}
|
|
12
|
-
export interface IsLoading {
|
|
13
|
-
products: boolean;
|
|
14
|
-
filters: boolean;
|
|
15
|
-
}
|
|
16
|
-
export interface CustomSortSettings {
|
|
17
|
-
personalization_rank: number;
|
|
18
|
-
creation_date: number;
|
|
19
|
-
popularity: number;
|
|
20
|
-
inventory: number;
|
|
21
|
-
}
|
|
22
|
-
export interface FastStateProps {
|
|
23
|
-
isReady: boolean;
|
|
24
|
-
isLoading: IsLoading;
|
|
25
|
-
results?: FullTextServerResponseAll | smartCollectionsResults | AutocompleteReasoningResponse;
|
|
26
|
-
query: string;
|
|
27
|
-
page: number;
|
|
28
|
-
narrow?: ServerNarrow[];
|
|
29
|
-
type: AppType;
|
|
30
|
-
collectionID?: string;
|
|
31
|
-
sortBy?: SortBy;
|
|
32
|
-
recommendations?: {
|
|
33
|
-
[id: string]: Widget;
|
|
34
|
-
};
|
|
35
|
-
singleProducts?: {
|
|
36
|
-
[id: string]: Product;
|
|
37
|
-
};
|
|
38
|
-
autocomplete?: AutocompleteResults;
|
|
39
|
-
searchWithinSearch?: string;
|
|
40
|
-
segments?: string[];
|
|
41
|
-
flag?: string[];
|
|
42
|
-
custom_sort_settings?: CustomSortSettings;
|
|
43
|
-
isAutocomplete?: boolean;
|
|
44
|
-
}
|
|
45
|
-
export interface FastStateFunctionsProps {
|
|
46
|
-
setQuery: (query: string, isAutocomplete?: boolean) => void;
|
|
47
|
-
setSort: (sortBy: SortBy) => void;
|
|
48
|
-
setNarrow: (narrow?: ServerNarrow[]) => void;
|
|
49
|
-
setPage: (page: number) => void;
|
|
50
|
-
getAllCategories: () => Promise<FastCategory[]>;
|
|
51
|
-
setCollection: (id: string) => void;
|
|
52
|
-
setState: (newState: SetStateProps) => void;
|
|
53
|
-
setFlag: (flags: string[]) => void;
|
|
54
|
-
setSearchWithinSearch: (query: string) => void;
|
|
55
|
-
setSegments: (segments: string[]) => void;
|
|
56
|
-
setCustomSort: (customSortSettings: CustomSortSettings) => void;
|
|
57
|
-
setIsAutocomplete: (isAutocomplete: boolean) => void;
|
|
58
|
-
}
|
|
59
|
-
export declare const FastState: React.Context<FastStateProps>;
|
|
60
|
-
export declare const FastStateFunctions: React.Context<FastStateFunctionsProps>;
|
|
61
|
-
export declare const useFastStateFunctions: () => FastStateFunctionsProps;
|
|
62
|
-
export declare const useFastState: () => FastStateProps;
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { FullTextServerResponseAll } from "../../@types/results";
|
|
3
|
+
import { ServerNarrow } from "../../@types/narrow";
|
|
4
|
+
import { SortBy } from "../../@types/sortBy";
|
|
5
|
+
import { Product } from "../../@types/product";
|
|
6
|
+
import { FastCategory, smartCollectionsResults } from "../../@types/categories";
|
|
7
|
+
import { AppType } from "./FastSimonApi";
|
|
8
|
+
import { Widget } from "../../@types/widget";
|
|
9
|
+
import { AutocompleteReasoningResponse, AutocompleteResults } from "../../@types/autocomplete";
|
|
10
|
+
export interface SetStateProps extends Partial<FastStateProps> {
|
|
11
|
+
}
|
|
12
|
+
export interface IsLoading {
|
|
13
|
+
products: boolean;
|
|
14
|
+
filters: boolean;
|
|
15
|
+
}
|
|
16
|
+
export interface CustomSortSettings {
|
|
17
|
+
personalization_rank: number;
|
|
18
|
+
creation_date: number;
|
|
19
|
+
popularity: number;
|
|
20
|
+
inventory: number;
|
|
21
|
+
}
|
|
22
|
+
export interface FastStateProps {
|
|
23
|
+
isReady: boolean;
|
|
24
|
+
isLoading: IsLoading;
|
|
25
|
+
results?: FullTextServerResponseAll | smartCollectionsResults | AutocompleteReasoningResponse;
|
|
26
|
+
query: string;
|
|
27
|
+
page: number;
|
|
28
|
+
narrow?: ServerNarrow[];
|
|
29
|
+
type: AppType;
|
|
30
|
+
collectionID?: string;
|
|
31
|
+
sortBy?: SortBy;
|
|
32
|
+
recommendations?: {
|
|
33
|
+
[id: string]: Widget;
|
|
34
|
+
};
|
|
35
|
+
singleProducts?: {
|
|
36
|
+
[id: string]: Product;
|
|
37
|
+
};
|
|
38
|
+
autocomplete?: AutocompleteResults;
|
|
39
|
+
searchWithinSearch?: string;
|
|
40
|
+
segments?: string[];
|
|
41
|
+
flag?: string[];
|
|
42
|
+
custom_sort_settings?: CustomSortSettings;
|
|
43
|
+
isAutocomplete?: boolean;
|
|
44
|
+
}
|
|
45
|
+
export interface FastStateFunctionsProps {
|
|
46
|
+
setQuery: (query: string, isAutocomplete?: boolean) => void;
|
|
47
|
+
setSort: (sortBy: SortBy) => void;
|
|
48
|
+
setNarrow: (narrow?: ServerNarrow[]) => void;
|
|
49
|
+
setPage: (page: number) => void;
|
|
50
|
+
getAllCategories: () => Promise<FastCategory[]>;
|
|
51
|
+
setCollection: (id: string) => void;
|
|
52
|
+
setState: (newState: SetStateProps) => void;
|
|
53
|
+
setFlag: (flags: string[]) => void;
|
|
54
|
+
setSearchWithinSearch: (query: string) => void;
|
|
55
|
+
setSegments: (segments: string[]) => void;
|
|
56
|
+
setCustomSort: (customSortSettings: CustomSortSettings) => void;
|
|
57
|
+
setIsAutocomplete: (isAutocomplete: boolean) => void;
|
|
58
|
+
}
|
|
59
|
+
export declare const FastState: React.Context<FastStateProps>;
|
|
60
|
+
export declare const FastStateFunctions: React.Context<FastStateFunctionsProps>;
|
|
61
|
+
export declare const useFastStateFunctions: () => FastStateFunctionsProps;
|
|
62
|
+
export declare const useFastState: () => FastStateProps;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import React, { useContext } from "react";
|
|
2
|
-
export const FastState = React.createContext({});
|
|
3
|
-
export const FastStateFunctions = React.createContext({});
|
|
4
|
-
export const useFastStateFunctions = () => {
|
|
5
|
-
return useContext(FastStateFunctions);
|
|
6
|
-
};
|
|
7
|
-
export const useFastState = () => {
|
|
8
|
-
return useContext(FastState);
|
|
9
|
-
};
|
|
1
|
+
import React, { useContext } from "react";
|
|
2
|
+
export const FastState = React.createContext({});
|
|
3
|
+
export const FastStateFunctions = React.createContext({});
|
|
4
|
+
export const useFastStateFunctions = () => {
|
|
5
|
+
return useContext(FastStateFunctions);
|
|
6
|
+
};
|
|
7
|
+
export const useFastState = () => {
|
|
8
|
+
return useContext(FastState);
|
|
9
|
+
};
|
|
10
10
|
//# sourceMappingURL=context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/components/FastSimonApi/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAC,UAAU,EAAC,MAAM,OAAO,CAAC;AAmExC,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,EAAoB,CAAC,CAAA;AAClE,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC,aAAa,CAAC,EAA6B,CAAC,CAAA;AAEpF,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACtC,OAAO,UAAU,CAAC,kBAAkB,CAAC,CAAC;AAC1C,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC7B,OAAO,UAAU,CAAC,SAAS,CAAC,CAAA;AAChC,CAAC,CAAA","sourcesContent":["import React, {useContext} from \"react\";\
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/components/FastSimonApi/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAC,UAAU,EAAC,MAAM,OAAO,CAAC;AAmExC,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,EAAoB,CAAC,CAAA;AAClE,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC,aAAa,CAAC,EAA6B,CAAC,CAAA;AAEpF,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACtC,OAAO,UAAU,CAAC,kBAAkB,CAAC,CAAC;AAC1C,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC7B,OAAO,UAAU,CAAC,SAAS,CAAC,CAAA;AAChC,CAAC,CAAA","sourcesContent":["import React, {useContext} from \"react\";\n\n\nimport {FullTextServerResponseAll} from \"../../@types/results\";\nimport {Narrow, ServerNarrow} from \"../../@types/narrow\";\nimport {SortBy} from \"../../@types/sortBy\";\nimport {Product} from \"../../@types/product\";\nimport {FastCategory, smartCollectionsResults} from \"../../@types/categories\";\nimport {AppType} from \"./FastSimonApi\";\nimport {Widget} from \"../../@types/widget\";\nimport {AutocompleteReasoningResponse, AutocompleteResults} from \"../../@types/autocomplete\";\n\n\nexport interface SetStateProps extends Partial<FastStateProps> {\n\n}\n\nexport interface IsLoading {\n products: boolean,\n filters: boolean,\n}\nexport interface CustomSortSettings{\n personalization_rank: number,\n creation_date: number,\n popularity: number,\n inventory: number\n}\n\nexport interface FastStateProps {\n isReady: boolean\n isLoading: IsLoading,\n results?: FullTextServerResponseAll | smartCollectionsResults | AutocompleteReasoningResponse\n query: string\n page: number,\n narrow?: ServerNarrow[]\n type: AppType\n collectionID?: string\n sortBy?: SortBy\n recommendations?: {\n [id: string]: Widget\n },\n singleProducts?: {\n [id: string]: Product\n }\n autocomplete?: AutocompleteResults\n searchWithinSearch?: string,\n segments?: string[],\n flag?:string[]\n custom_sort_settings?:CustomSortSettings\n isAutocomplete?:boolean\n}\n\nexport interface FastStateFunctionsProps {\n setQuery: (query: string, isAutocomplete?:boolean) => void,\n setSort: (sortBy: SortBy) => void,\n setNarrow: (narrow?: ServerNarrow[]) => void,\n setPage: (page: number) => void,\n getAllCategories: () => Promise<FastCategory[]>\n setCollection: (id: string) => void\n setState: (newState: SetStateProps) => void\n setFlag:(flags:string[])=>void\n setSearchWithinSearch: (query: string) => void,\n setSegments: (segments: string[]) => void,\n setCustomSort:(customSortSettings:CustomSortSettings)=>void,\n setIsAutocomplete:(isAutocomplete:boolean)=>void,\n}\n\nexport const FastState = React.createContext({} as FastStateProps)\nexport const FastStateFunctions = React.createContext({} as FastStateFunctionsProps)\n\nexport const useFastStateFunctions = () => {\n return useContext(FastStateFunctions);\n}\n\nexport const useFastState = () => {\n return useContext(FastState)\n}"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { default } from "./FastSimonApi";
|
|
2
|
-
export * from './context';
|
|
3
|
-
export type { MainTheme } from "./FastSimonApi";
|
|
1
|
+
export { default } from "./FastSimonApi";
|
|
2
|
+
export * from './context';
|
|
3
|
+
export type { MainTheme } from "./FastSimonApi";
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { default } from "./FastSimonApi";
|
|
2
|
-
export * from './context';
|
|
1
|
+
export { default } from "./FastSimonApi";
|
|
2
|
+
export * from './context';
|
|
3
3
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/FastSimonApi/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAA;AACtC,cAAc,WAAW,CAAC","sourcesContent":["export {default} from \"./FastSimonApi\"\
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/FastSimonApi/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAA;AACtC,cAAc,WAAW,CAAC","sourcesContent":["export {default} from \"./FastSimonApi\"\nexport * from './context';\nexport type {MainTheme} from \"./FastSimonApi\""]}
|