@fast-simon/dashboard-utilities 1.0.55 → 1.0.57

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.
@@ -1,5 +1,5 @@
1
1
  import { SortBy } from "./sortBy";
2
- import { Narrow } from "./narrow";
2
+ import { Narrow, ServerNarrow } from "./narrow";
3
3
  import { ServerProduct } from "./product";
4
4
  import { ServerFacet } from "./facets";
5
5
  export type AncestorCategory = [string, string, string];
@@ -38,7 +38,7 @@ export interface smartCollectionsProps {
38
38
  page?: number;
39
39
  productsPerPage?: number;
40
40
  sortBy?: SortBy;
41
- narrowBy?: Narrow[];
41
+ narrowBy?: ServerNarrow[];
42
42
  facetRequired?: FacetRequired;
43
43
  withAttributes?: boolean;
44
44
  recent?: string;
@@ -83,6 +83,7 @@ export interface smartCollectionsResults {
83
83
  turbolink?: string;
84
84
  hiddenProducts?: ServerProduct[];
85
85
  within_search_results_for?: string;
86
+ results_for?: string;
86
87
  }
87
88
  export type inventoryCallback = ({}: {
88
89
  action: "products inventory";
@@ -1 +1 @@
1
- {"version":3,"file":"categories.js","sourceRoot":"","sources":["../../src/@types/categories.ts"],"names":[],"mappings":"","sourcesContent":["import {SortBy} from \"./sortBy\";\r\nimport {Narrow} from \"./narrow\";\r\nimport { ServerProduct} from \"./product\";\r\nimport {ServerFacet} from \"./facets\";\r\n\r\n\r\nexport type AncestorCategory = [string, string, string] // category_id, category_name, category_url\r\nexport interface RelatedCategory {\r\n id: string\r\n l: string\r\n t: string\r\n u: string\r\n}\r\nexport type CategoryAncestor = [string, string, string]\r\nexport interface Category {\r\n d: string\r\n id: string\r\n l: string\r\n p_id: string\r\n t: string\r\n u: string\r\n parent_name?: string\r\n}\r\nexport interface FastCategory {\r\n d: string\r\n id: string\r\n l: string\r\n p_id: string\r\n t: string\r\n u: string\r\n parent_name?: string\r\n}\r\nexport interface smartCollectionsProps {\r\n storeID: number\r\n uuid: string\r\n cdn: number\r\n categoryID: string,\r\n userToken: string,\r\n sessionStart: number,\r\n page?: number\r\n productsPerPage?: number\r\n sortBy?: SortBy\r\n narrowBy?: Narrow[]\r\n facetRequired?: FacetRequired\r\n withAttributes?: boolean\r\n recent?: string\r\n rec?: boolean\r\n searchWithinSearch?: string,\r\n segments?: string[],\r\n hasShopifyMarkets?: boolean,\r\n disable_turbolinks?:boolean\r\n disable_strategies?:boolean\r\n disable_merchandising?:boolean\r\n disable_semantics?:boolean\r\n disable_merchandising_rules?:boolean\r\n disable_antonyms?:boolean\r\n custom_sort_settings?:{personalization_rank: number, creation_date: number, popularity: number, inventory: number}\r\n}\r\nexport type FacetRequired = 0 | 1 | 2\r\nexport type smartCollectionsCallback = ({}: {\r\n action: \"products\" | \"facets and products\"\r\n payload: smartCollectionsResults\r\n}) => void\r\nexport interface smartCollectionsResults {\r\n ancestors: CategoryAncestor[]\r\n categoryID: string\r\n name: string\r\n category_name: string\r\n products: ServerProduct[]\r\n facets?: ServerFacet[]\r\n totalResults: number\r\n sortBy?: SortBy,\r\n narrow?: Narrow[],\r\n isNoResults?: boolean\r\n page?: number\r\n pageCount?: number\r\n avoidPrefixList?: string[]\r\n merch?: any\r\n bannerHTML?: string\r\n turbolink?:string\r\n hiddenProducts?:ServerProduct[]\r\n within_search_results_for?:string\r\n\r\n}\r\nexport type inventoryCallback = ({}: {\r\n action: \"products inventory\"\r\n payload: {productsInventory: productsInventoryResults[]}\r\n}) => void\r\nexport interface productsInventoryResults {\r\n id: string;\r\n totalInventory: number;\r\n}"]}
1
+ {"version":3,"file":"categories.js","sourceRoot":"","sources":["../../src/@types/categories.ts"],"names":[],"mappings":"","sourcesContent":["import {SortBy} from \"./sortBy\";\r\nimport {Narrow, ServerNarrow} from \"./narrow\";\r\nimport { ServerProduct} from \"./product\";\r\nimport {ServerFacet} from \"./facets\";\r\n\r\n\r\nexport type AncestorCategory = [string, string, string] // category_id, category_name, category_url\r\nexport interface RelatedCategory {\r\n id: string\r\n l: string\r\n t: string\r\n u: string\r\n}\r\nexport type CategoryAncestor = [string, string, string]\r\nexport interface Category {\r\n d: string\r\n id: string\r\n l: string\r\n p_id: string\r\n t: string\r\n u: string\r\n parent_name?: string\r\n}\r\nexport interface FastCategory {\r\n d: string\r\n id: string\r\n l: string\r\n p_id: string\r\n t: string\r\n u: string\r\n parent_name?: string\r\n}\r\nexport interface smartCollectionsProps {\r\n storeID: number\r\n uuid: string\r\n cdn: number\r\n categoryID: string,\r\n userToken: string,\r\n sessionStart: number,\r\n page?: number\r\n productsPerPage?: number\r\n sortBy?: SortBy\r\n narrowBy?: ServerNarrow[]\r\n facetRequired?: FacetRequired\r\n withAttributes?: boolean\r\n recent?: string\r\n rec?: boolean\r\n searchWithinSearch?: string,\r\n segments?: string[],\r\n hasShopifyMarkets?: boolean,\r\n disable_turbolinks?:boolean\r\n disable_strategies?:boolean\r\n disable_merchandising?:boolean\r\n disable_semantics?:boolean\r\n disable_merchandising_rules?:boolean\r\n disable_antonyms?:boolean\r\n custom_sort_settings?:{personalization_rank: number, creation_date: number, popularity: number, inventory: number}\r\n}\r\nexport type FacetRequired = 0 | 1 | 2\r\nexport type smartCollectionsCallback = ({}: {\r\n action: \"products\" | \"facets and products\"\r\n payload: smartCollectionsResults\r\n}) => void\r\nexport interface smartCollectionsResults {\r\n ancestors: CategoryAncestor[]\r\n categoryID: string\r\n name: string\r\n category_name: string\r\n products: ServerProduct[]\r\n facets?: ServerFacet[]\r\n totalResults: number\r\n sortBy?: SortBy,\r\n narrow?: Narrow[],\r\n isNoResults?: boolean\r\n page?: number\r\n pageCount?: number\r\n avoidPrefixList?: string[]\r\n merch?: any\r\n bannerHTML?: string\r\n turbolink?:string\r\n hiddenProducts?:ServerProduct[]\r\n within_search_results_for?:string\r\n results_for?: string\r\n\r\n}\r\nexport type inventoryCallback = ({}: {\r\n action: \"products inventory\"\r\n payload: {productsInventory: productsInventoryResults[]}\r\n}) => void\r\nexport interface productsInventoryResults {\r\n id: string;\r\n totalInventory: number;\r\n}"]}
@@ -1,4 +1,4 @@
1
- import type { Narrow } from "./narrow";
1
+ import type { Narrow, ServerNarrow } from "./narrow";
2
2
  import type { SortBy } from "./sortBy";
3
3
  import type { Facet } from "./facets";
4
4
  import { AncestorCategory, RelatedCategory } from "./categories";
@@ -56,7 +56,7 @@ export interface fullTextSearchProps {
56
56
  page?: number;
57
57
  productsPerPage?: number;
58
58
  sortBy?: SortBy;
59
- narrowBy?: Narrow[];
59
+ narrowBy?: ServerNarrow[];
60
60
  facetRequired?: FacetRequired;
61
61
  withAttributes?: boolean;
62
62
  recent?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"results.js","sourceRoot":"","sources":["../../src/@types/results.ts"],"names":[],"mappings":"","sourcesContent":["import type {Narrow} from \"./narrow\";\r\nimport type {SortBy} from \"./sortBy\";\r\n\r\nimport type { Facet} from \"./facets\";\r\nimport {AncestorCategory, RelatedCategory} from \"./categories\";\r\n\r\nimport {Product, ServerProduct} from \"./product\";\r\n\r\nexport interface PopularSearch {\r\n label: string\r\n type: \"p\"\r\n}\r\ninterface Base {\r\n narrow: Narrow,\r\n sortBy: SortBy,\r\n totalResults: number,\r\n page: number,\r\n totalPages: number,\r\n products: Product[],\r\n facets: Facet[],\r\n avoidTagPrefixes: string[],\r\n sort: SortBy,\r\n productIDS: string[],\r\n bannerHTML: string,\r\n bannerHTMLMobile: string,\r\n // ancestors: Ancestor[]\r\n}\r\n\r\nexport interface SearchResults extends Base {\r\n query: string,\r\n totalCMS: number,\r\n didYouMean?: string[],\r\n personalizedProductIds: number[],\r\n sessionProductIds: number[],\r\n resultsFor?: string,\r\n isRelatedResults?: boolean\r\n relatedSearch?: string[]\r\n}\r\n\r\nexport interface CategoryResults extends Base {\r\n categoryID: string,\r\n categoryName: string,\r\n personalizationRecencyLimit?: number,\r\n personalizedProductIds: number[],\r\n sessionProductIds: number[],\r\n relatedCategories: RelatedCategory[],\r\n}\r\n\r\nexport interface LandingPageResults extends Base {\r\n lpSlug: string,\r\n title: string,\r\n indexPage: number\r\n}\r\n\r\nexport type FacetRequired = 0 | 1 | 2\r\nexport type CategoryAncestor = [string, string, string]\r\n\r\nexport interface fullTextSearchProps {\r\n term: string\r\n storeID: number\r\n uuid: string\r\n cdn?: number\r\n userToken: string,\r\n sessionStart: number,\r\n page?: number\r\n productsPerPage?: number\r\n sortBy?: SortBy\r\n narrowBy?: Narrow[]\r\n facetRequired?: FacetRequired\r\n withAttributes?: boolean\r\n recent?: string\r\n searchWithinSearch?: string,\r\n segments?: string[]\r\n hasShopifyMarkets?: boolean\r\n disable_turbolinks?:boolean\r\n disable_strategies?:boolean\r\n disable_merchandising?:boolean\r\n disable_semantics?:boolean\r\n disable_merchandising_rules?:boolean\r\n disable_antonyms?:boolean\r\n custom_sort_settings?:{personalization_rank: number, creation_date: number, popularity: number, inventory: number}\r\n}\r\nexport interface fullTextSearchResponse {\r\n products: ServerProduct[]\r\n facets: Facet[]\r\n total_results: number\r\n facets_completed?: boolean\r\n sortBy?: SortBy,\r\n narrow: [string, string, string][]\r\n pop_products_no_results?: boolean\r\n page: number\r\n total_p: number\r\n personalized_products?: number[],\r\n ancestor_categories?: CategoryAncestor[]\r\n avoid_tag_prefixes?: string\r\n merch?: any\r\n}\r\nexport interface FullTextServerResponseAll extends fullTextSearchResponse{\r\n alternatives?: string[]\r\n term: string\r\n cms_number_found?: number\r\n within_search_results_for?: string\r\n banner_html: string\r\n banner_html_mobile: string\r\n turbolink?: string\r\n personalized_products?: number[]\r\n session_products?: number[]\r\n results_for?: string\r\n related_results?: boolean,\r\n ancestor_categories?: AncestorCategory[],\r\n related_search?: string[],\r\n hidden?:any,\r\n isNoResults?:any,\r\n totalResults?:any,\r\n hiddenProducts?:ServerProduct[],\r\n pageCount?:number,\r\n\r\n}"]}
1
+ {"version":3,"file":"results.js","sourceRoot":"","sources":["../../src/@types/results.ts"],"names":[],"mappings":"","sourcesContent":["import type {Narrow, ServerNarrow} from \"./narrow\";\r\nimport type {SortBy} from \"./sortBy\";\r\n\r\nimport type { Facet} from \"./facets\";\r\nimport {AncestorCategory, RelatedCategory} from \"./categories\";\r\n\r\nimport {Product, ServerProduct} from \"./product\";\r\n\r\nexport interface PopularSearch {\r\n label: string\r\n type: \"p\"\r\n}\r\ninterface Base {\r\n narrow: Narrow,\r\n sortBy: SortBy,\r\n totalResults: number,\r\n page: number,\r\n totalPages: number,\r\n products: Product[],\r\n facets: Facet[],\r\n avoidTagPrefixes: string[],\r\n sort: SortBy,\r\n productIDS: string[],\r\n bannerHTML: string,\r\n bannerHTMLMobile: string,\r\n // ancestors: Ancestor[]\r\n}\r\n\r\nexport interface SearchResults extends Base {\r\n query: string,\r\n totalCMS: number,\r\n didYouMean?: string[],\r\n personalizedProductIds: number[],\r\n sessionProductIds: number[],\r\n resultsFor?: string,\r\n isRelatedResults?: boolean\r\n relatedSearch?: string[]\r\n}\r\n\r\nexport interface CategoryResults extends Base {\r\n categoryID: string,\r\n categoryName: string,\r\n personalizationRecencyLimit?: number,\r\n personalizedProductIds: number[],\r\n sessionProductIds: number[],\r\n relatedCategories: RelatedCategory[],\r\n}\r\n\r\nexport interface LandingPageResults extends Base {\r\n lpSlug: string,\r\n title: string,\r\n indexPage: number\r\n}\r\n\r\nexport type FacetRequired = 0 | 1 | 2\r\nexport type CategoryAncestor = [string, string, string]\r\n\r\nexport interface fullTextSearchProps {\r\n term: string\r\n storeID: number\r\n uuid: string\r\n cdn?: number\r\n userToken: string,\r\n sessionStart: number,\r\n page?: number\r\n productsPerPage?: number\r\n sortBy?: SortBy\r\n narrowBy?: ServerNarrow[]\r\n facetRequired?: FacetRequired\r\n withAttributes?: boolean\r\n recent?: string\r\n searchWithinSearch?: string,\r\n segments?: string[]\r\n hasShopifyMarkets?: boolean\r\n disable_turbolinks?:boolean\r\n disable_strategies?:boolean\r\n disable_merchandising?:boolean\r\n disable_semantics?:boolean\r\n disable_merchandising_rules?:boolean\r\n disable_antonyms?:boolean\r\n custom_sort_settings?:{personalization_rank: number, creation_date: number, popularity: number, inventory: number}\r\n}\r\nexport interface fullTextSearchResponse {\r\n products: ServerProduct[]\r\n facets: Facet[]\r\n total_results: number\r\n facets_completed?: boolean\r\n sortBy?: SortBy,\r\n narrow: [string, string, string][]\r\n pop_products_no_results?: boolean\r\n page: number\r\n total_p: number\r\n personalized_products?: number[],\r\n ancestor_categories?: CategoryAncestor[]\r\n avoid_tag_prefixes?: string\r\n merch?: any\r\n}\r\nexport interface FullTextServerResponseAll extends fullTextSearchResponse{\r\n alternatives?: string[]\r\n term: string\r\n cms_number_found?: number\r\n within_search_results_for?: string\r\n banner_html: string\r\n banner_html_mobile: string\r\n turbolink?: string\r\n personalized_products?: number[]\r\n session_products?: number[]\r\n results_for?: string\r\n related_results?: boolean,\r\n ancestor_categories?: AncestorCategory[],\r\n related_search?: string[],\r\n hidden?:any,\r\n isNoResults?:any,\r\n totalResults?:any,\r\n hiddenProducts?:ServerProduct[],\r\n pageCount?:number,\r\n\r\n}"]}
@@ -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} from \"../../@types/narrow\";\r\nimport {FullTextSearch} from \"../../services/search\";\r\nimport {SmartCollections} from \"../../services/smartCollections\";\r\n\r\n\r\n\r\n\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}\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, children,\r\n defaultSort , promoTiles = false, theme,\r\n withProductAttributes = false, isInfiniteScroll = false, getTitle,\r\n useFilters, noReport = false, customTitleChange, ...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 });\r\n\r\n const [categories, setCategories] = useState<FastCategory[]>([]);\r\n\r\n const {results, isLoading, query, sortBy, type, collectionID, page, narrow, recommendations, singleProducts, isReady, autocomplete, segments\r\n\r\n } = state;\r\n\r\n function setResults(results: FullTextServerResponseAll | smartCollectionsResults | undefined) {\r\n (dispatch as any)?.({type: 'setResults', payload: results});\r\n }\r\n\r\n function mergeResults(results: FullTextServerResponseAll | smartCollectionsResults, 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 setQuery(query: string) {\r\n (dispatch as any)?.({type: 'setQuery', payload: query});\r\n\r\n // Create the object with the computed property\r\n let fetchParams = {\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);\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 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 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);\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 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 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);\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\r\n // Create the object with the computed property\r\n let fetchParams = {\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 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: Narrow[] | undefined) {\r\n (dispatch as any)?.({type: 'setNarrow', payload: narrow});\r\n\r\n let fetchParams = {\r\n withProductAttributes:withProductAttributes,\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 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 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, term?: string, page?: number, narrowBy?: Narrow[] | 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}, isInfiniteScroll: boolean) {\r\n\r\n // on first request check if we need to fetch more then 1 product\r\n\r\n if (props.term) {\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.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 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\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 }\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 FullTextSearch.getReasoningFullTextSearch({\r\n ...props,\r\n withAttributes: promoTiles || withProductAttributes,\r\n }).then(async(response) => {\r\n response=getFormatedData(response,props);\r\n\r\n\r\n const requestProps=props;\r\n requestProps.facetRequired=2;\r\n let facetsRes=await FullTextSearch.getReasoningFullTextSearch(requestProps).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\r\n const onCollection = (props: Omit<smartCollectionsProps, \"callback\">, isInfiniteScroll: boolean) => {\r\n setIsLoading({products: true, filters: true});\r\n SmartCollections.getSmartCollections({\r\n ...props,\r\n withAttributes: promoTiles || withProductAttributes})\r\n .then( async (response) => {\r\n response=getFormatedData(response,props);\r\n\r\n const requestProps=props;\r\n requestProps.facetRequired=2;\r\n let facetsRes= await SmartCollections.getSmartCollections(requestProps).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,props: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 results.page = response.p || 1;\r\n delete results.p;\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 }}>\r\n <FastState.Provider\r\n value={{narrow, results, page, query, sortBy, type, collectionID, isLoading, recommendations, singleProducts, isReady, autocomplete}}>\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\";\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\n\r\n\r\n\r\n\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}\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, children,\r\n defaultSort , promoTiles = false, theme,\r\n withProductAttributes = false, isInfiniteScroll = false, getTitle,\r\n useFilters, noReport = false, customTitleChange, ...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 });\r\n\r\n const [categories, setCategories] = useState<FastCategory[]>([]);\r\n\r\n const {results, isLoading, query, sortBy, type, collectionID, page, narrow, recommendations, singleProducts, isReady, autocomplete, segments\r\n\r\n } = state;\r\n\r\n function setResults(results: FullTextServerResponseAll | smartCollectionsResults | undefined) {\r\n (dispatch as any)?.({type: 'setResults', payload: results});\r\n }\r\n\r\n function mergeResults(results: FullTextServerResponseAll | smartCollectionsResults, 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 setQuery(query: string) {\r\n (dispatch as any)?.({type: 'setQuery', payload: query});\r\n\r\n // Create the object with the computed property\r\n let fetchParams = {\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);\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 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 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);\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 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 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);\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\r\n // Create the object with the computed property\r\n let fetchParams = {\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 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 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 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 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, 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}, isInfiniteScroll: boolean) {\r\n\r\n // on first request check if we need to fetch more then 1 product\r\n\r\n if (props.term) {\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.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 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\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 }\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 FullTextSearch.getReasoningFullTextSearch({\r\n ...props,\r\n withAttributes: promoTiles || withProductAttributes,\r\n }).then(async(response) => {\r\n response=getFormatedData(response,props);\r\n\r\n\r\n const requestProps=props;\r\n requestProps.facetRequired=2;\r\n let facetsRes=await FullTextSearch.getReasoningFullTextSearch(requestProps).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\r\n const onCollection = (props: Omit<smartCollectionsProps, \"callback\">, isInfiniteScroll: boolean) => {\r\n setIsLoading({products: true, filters: true});\r\n SmartCollections.getSmartCollections({\r\n ...props,\r\n withAttributes: promoTiles || withProductAttributes})\r\n .then( async (response) => {\r\n response=getFormatedData(response,props);\r\n\r\n const requestProps=props;\r\n requestProps.facetRequired=2;\r\n let facetsRes= await SmartCollections.getSmartCollections(requestProps).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,props: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 results.page = response.p || 1;\r\n delete results.p;\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 }}>\r\n <FastState.Provider\r\n value={{narrow, results, page, query, sortBy, type, collectionID, isLoading, recommendations, singleProducts, isReady, autocomplete}}>\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,6 +1,6 @@
1
1
  import React from "react";
2
2
  import { FullTextServerResponseAll } from "../../@types/results";
3
- import { Narrow } from "../../@types/narrow";
3
+ import { ServerNarrow } from "../../@types/narrow";
4
4
  import { SortBy } from "../../@types/sortBy";
5
5
  import { Product } from "../../@types/product";
6
6
  import { FastCategory, smartCollectionsResults } from "../../@types/categories";
@@ -25,7 +25,7 @@ export interface FastStateProps {
25
25
  results?: FullTextServerResponseAll | smartCollectionsResults;
26
26
  query: string;
27
27
  page: number;
28
- narrow?: Narrow[];
28
+ narrow?: ServerNarrow[];
29
29
  type: AppType;
30
30
  collectionID?: string;
31
31
  sortBy?: SortBy;
@@ -44,7 +44,7 @@ export interface FastStateProps {
44
44
  export interface FastStateFunctionsProps {
45
45
  setQuery: (query: string) => void;
46
46
  setSort: (sortBy: SortBy) => void;
47
- setNarrow: (narrow?: Narrow[]) => void;
47
+ setNarrow: (narrow?: ServerNarrow[]) => void;
48
48
  setPage: (page: number) => void;
49
49
  getAllCategories: () => Promise<FastCategory[]>;
50
50
  setCollection: (id: string) => void;
@@ -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;AAiExC,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\";\r\n\r\n\r\nimport {FullTextServerResponseAll} from \"../../@types/results\";\r\nimport {Narrow} from \"../../@types/narrow\";\r\nimport {SortBy} from \"../../@types/sortBy\";\r\nimport {Product} from \"../../@types/product\";\r\nimport {FastCategory, smartCollectionsResults} from \"../../@types/categories\";\r\nimport {AppType} from \"./FastSimonApi\";\r\nimport {Widget} from \"../../@types/widget\";\r\nimport {AutocompleteResults} from \"../../@types/autocomplete\";\r\n\r\n\r\nexport interface SetStateProps extends Partial<FastStateProps> {\r\n\r\n}\r\n\r\nexport interface IsLoading {\r\n products: boolean,\r\n filters: boolean,\r\n}\r\nexport interface CustomSortSettings{\r\n personalization_rank: number,\r\n creation_date: number,\r\n popularity: number,\r\n inventory: number\r\n}\r\n\r\nexport interface FastStateProps {\r\n isReady: boolean\r\n isLoading: IsLoading,\r\n results?: FullTextServerResponseAll | smartCollectionsResults\r\n query: string\r\n page: number,\r\n narrow?: Narrow[]\r\n type: AppType\r\n collectionID?: string\r\n sortBy?: SortBy\r\n recommendations?: {\r\n [id: string]: Widget\r\n },\r\n singleProducts?: {\r\n [id: string]: Product\r\n }\r\n autocomplete?: AutocompleteResults\r\n searchWithinSearch?: string,\r\n segments?: string[],\r\n flag?:string[]\r\n custom_sort_settings?:CustomSortSettings\r\n}\r\n\r\nexport interface FastStateFunctionsProps {\r\n setQuery: (query: string) => void,\r\n setSort: (sortBy: SortBy) => void,\r\n setNarrow: (narrow?: Narrow[]) => void,\r\n setPage: (page: number) => void,\r\n getAllCategories: () => Promise<FastCategory[]>\r\n setCollection: (id: string) => void\r\n setState: (newState: SetStateProps) => void\r\n setFlag:(flags:string[])=>void\r\n setSearchWithinSearch: (query: string) => void,\r\n setSegments: (segments: string[]) => void,\r\n setCustomSort:(customSortSettings:CustomSortSettings)=>void,\r\n}\r\n\r\nexport const FastState = React.createContext({} as FastStateProps)\r\nexport const FastStateFunctions = React.createContext({} as FastStateFunctionsProps)\r\n\r\nexport const useFastStateFunctions = () => {\r\n return useContext(FastStateFunctions);\r\n}\r\n\r\nexport const useFastState = () => {\r\n return useContext(FastState)\r\n}"]}
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;AAiExC,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\";\r\n\r\n\r\nimport {FullTextServerResponseAll} from \"../../@types/results\";\r\nimport {Narrow, ServerNarrow} from \"../../@types/narrow\";\r\nimport {SortBy} from \"../../@types/sortBy\";\r\nimport {Product} from \"../../@types/product\";\r\nimport {FastCategory, smartCollectionsResults} from \"../../@types/categories\";\r\nimport {AppType} from \"./FastSimonApi\";\r\nimport {Widget} from \"../../@types/widget\";\r\nimport {AutocompleteResults} from \"../../@types/autocomplete\";\r\n\r\n\r\nexport interface SetStateProps extends Partial<FastStateProps> {\r\n\r\n}\r\n\r\nexport interface IsLoading {\r\n products: boolean,\r\n filters: boolean,\r\n}\r\nexport interface CustomSortSettings{\r\n personalization_rank: number,\r\n creation_date: number,\r\n popularity: number,\r\n inventory: number\r\n}\r\n\r\nexport interface FastStateProps {\r\n isReady: boolean\r\n isLoading: IsLoading,\r\n results?: FullTextServerResponseAll | smartCollectionsResults\r\n query: string\r\n page: number,\r\n narrow?: ServerNarrow[]\r\n type: AppType\r\n collectionID?: string\r\n sortBy?: SortBy\r\n recommendations?: {\r\n [id: string]: Widget\r\n },\r\n singleProducts?: {\r\n [id: string]: Product\r\n }\r\n autocomplete?: AutocompleteResults\r\n searchWithinSearch?: string,\r\n segments?: string[],\r\n flag?:string[]\r\n custom_sort_settings?:CustomSortSettings\r\n}\r\n\r\nexport interface FastStateFunctionsProps {\r\n setQuery: (query: string) => void,\r\n setSort: (sortBy: SortBy) => void,\r\n setNarrow: (narrow?: ServerNarrow[]) => void,\r\n setPage: (page: number) => void,\r\n getAllCategories: () => Promise<FastCategory[]>\r\n setCollection: (id: string) => void\r\n setState: (newState: SetStateProps) => void\r\n setFlag:(flags:string[])=>void\r\n setSearchWithinSearch: (query: string) => void,\r\n setSegments: (segments: string[]) => void,\r\n setCustomSort:(customSortSettings:CustomSortSettings)=>void,\r\n}\r\n\r\nexport const FastState = React.createContext({} as FastStateProps)\r\nexport const FastStateFunctions = React.createContext({} as FastStateFunctionsProps)\r\n\r\nexport const useFastStateFunctions = () => {\r\n return useContext(FastStateFunctions);\r\n}\r\n\r\nexport const useFastState = () => {\r\n return useContext(FastState)\r\n}"]}
@@ -3,7 +3,7 @@ import { AppType } from "./FastSimonApi";
3
3
  import { SortBy } from "../../@types/sortBy";
4
4
  import { FullTextServerResponseAll } from "../../@types/results";
5
5
  import { smartCollectionsResults } from "../../@types/categories";
6
- import { Narrow } from "../../@types/narrow";
6
+ import { Narrow, ServerNarrow } from "../../@types/narrow";
7
7
  import { Product } from "../../@types/product";
8
8
  import { Widget } from "../../@types/widget";
9
9
  import { AutocompleteResults } from "../../@types/autocomplete";
@@ -30,7 +30,7 @@ type FastStateAction = {
30
30
  payload: string;
31
31
  } | {
32
32
  type: 'setNarrow';
33
- payload: Narrow[] | undefined;
33
+ payload: ServerNarrow[] | undefined;
34
34
  } | {
35
35
  type: 'setResults';
36
36
  payload: FullTextServerResponseAll | smartCollectionsResults | undefined;
@@ -96,6 +96,7 @@ export declare function fastStateReducer(state: FastStateProps, action: FastStat
96
96
  turbolink?: string | undefined;
97
97
  hiddenProducts?: import("../../@types/product").ServerProduct[] | undefined;
98
98
  within_search_results_for?: string | undefined;
99
+ results_for?: string | undefined;
99
100
  } | {
100
101
  products: import("../../@types/product").ServerProduct[];
101
102
  alternatives?: string[] | undefined;
@@ -145,6 +146,7 @@ export declare function fastStateReducer(state: FastStateProps, action: FastStat
145
146
  turbolink?: string | undefined;
146
147
  hiddenProducts?: import("../../@types/product").ServerProduct[] | undefined;
147
148
  within_search_results_for?: string | undefined;
149
+ results_for?: string | undefined;
148
150
  } | {
149
151
  products: import("../../@types/product").ServerProduct[];
150
152
  alternatives?: string[] | undefined;
@@ -200,6 +202,7 @@ export declare function fastStateReducer(state: FastStateProps, action: FastStat
200
202
  turbolink?: string | undefined;
201
203
  hiddenProducts?: import("../../@types/product").ServerProduct[] | undefined;
202
204
  within_search_results_for?: string | undefined;
205
+ results_for?: string | undefined;
203
206
  alternatives?: string[] | undefined;
204
207
  term: string;
205
208
  cms_number_found?: number | undefined;
@@ -207,7 +210,6 @@ export declare function fastStateReducer(state: FastStateProps, action: FastStat
207
210
  banner_html_mobile: string;
208
211
  personalized_products?: number[] | undefined;
209
212
  session_products?: number[] | undefined;
210
- results_for?: string | undefined;
211
213
  related_results?: boolean | undefined;
212
214
  ancestor_categories?: import("../../@types/categories").AncestorCategory[] | undefined;
213
215
  related_search?: string[] | undefined;
@@ -252,7 +254,28 @@ export declare function fastStateReducer(state: FastStateProps, action: FastStat
252
254
  isLoading: IsLoading;
253
255
  query: string;
254
256
  page: number;
255
- narrow?: Narrow[] | undefined;
257
+ narrow?: ServerNarrow[] | undefined;
258
+ type: AppType;
259
+ collectionID?: string | undefined;
260
+ sortBy?: SortBy | undefined;
261
+ recommendations?: {
262
+ [id: string]: Widget;
263
+ } | undefined;
264
+ singleProducts?: {
265
+ [id: string]: Product;
266
+ } | undefined;
267
+ autocomplete?: AutocompleteResults | undefined;
268
+ searchWithinSearch?: string | undefined;
269
+ segments?: string[] | undefined;
270
+ flag?: string[] | undefined;
271
+ custom_sort_settings?: CustomSortSettings | undefined;
272
+ } | {
273
+ narrow: Narrow[];
274
+ isReady: boolean;
275
+ isLoading: IsLoading;
276
+ results?: smartCollectionsResults | FullTextServerResponseAll | undefined;
277
+ query: string;
278
+ page: number;
256
279
  type: AppType;
257
280
  collectionID?: string | undefined;
258
281
  sortBy?: SortBy | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"reducer.js","sourceRoot":"","sources":["../../../src/components/FastSimonApi/reducer.ts"],"names":[],"mappings":"AAmCA,MAAM,UAAU,gBAAgB,CAAC,KAAqB,EAAE,MAAuB;;IAC3E,QAAQ,MAAM,CAAC,IAAI,EAAE;QACjB,KAAK,UAAU;YACX,uCAAW,KAAK,KAAE,OAAO,EAAE,MAAM,CAAC,OAAO,IAAC;QAE9C,KAAK,SAAS;YACV,uCAAW,KAAK,KAAE,IAAI,EAAE,MAAM,CAAC,OAAO,IAAE;QAE5C,KAAK,SAAS;YACV,uCAAW,KAAK,KAAE,IAAI,EAAE,MAAM,CAAC,OAAO,IAAE;QAE5C,KAAK,UAAU;YACX,uCAAW,KAAK,KAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,EAAC,SAAS,IAAE;QAEnJ,KAAK,WAAW;YACZ,uCAAW,KAAK,KAAE,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,IAAE;QAEvD,KAAK,aAAa;YACd,uCAAW,KAAK,KAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,IAAE;QAEzD,KAAK,cAAc;YACf,uCAAW,KAAK,KAAE,SAAS,EAAE,MAAM,CAAC,OAAO,IAAE;QAEjD,KAAK,iBAAiB;YAClB,uCAAW,KAAK,KAAE,YAAY,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,SAAS,EAAG,MAAM,EAAC,SAAS,IAAE;QAE7I,KAAK,WAAW;YACZ,uCAAW,KAAK,KAAE,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,IAAE;QAEvD,KAAK,YAAY;YACb,OAAO,gCAAI,KAAK,KAAE,OAAO,kBAAG,WAAW,EAAE,KAAK,IAAK,MAAM,CAAC,OAAO,IAAoB,CAAC;QAE1F,KAAK,yBAAyB,CAAC,CAAC;YAC5B,uCAAW,KAAK,KAAE,OAAO,gDAAM,KAAK,CAAC,OAAO,GAAK,MAAM,CAAC,OAAO,CAAC,OAAO,KAAE,QAAQ,EAAE,CAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,QAAQ,KAAI,EAAE,OAAG;SACtH;QAED,KAAK,wBAAwB,CAAC,CAAA;YAC1B,uCAAW,KAAK,KAAE,MAAM,EAAE,MAAM,CAAC,OAAO,IAAE;SAC7C;QAED,KAAK,cAAc,CAAC,CAAC;YACjB,MAAM,MAAM,GAAG,MAAA,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,mCAAI,KAAK,CAAC,MAAM,CAAA;YAE5D,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE;gBAChC,OAAO,gCAAI,KAAK,KAAC,MAAM,EAAE,OAAO,oBAAO,MAAM,CAAC,OAAO,CAAC,OAAO,IAAoB,CAAC;aACrF;YAED,MAAM,QAAQ,GAAG,MAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,QAAQ,mCAAI,EAAE,CAAC;YAC/C,MAAM,WAAW,GAAG,MAAA,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,mCAAI,EAAE,CAAC;YAC1D,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE;gBAC/B,IAAG,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,CAAA,EAAE;oBAC1C,OAAO,gCACA,KAAK,KACR,OAAO,8DAAM,KAAK,CAAC,OAAO,KAAE,WAAW,EAAE,KAAK,KAAK,MAAM,CAAC,OAAO,CAAC,OAAO,KAAE,QAAQ,EAAE,CAAC,GAAG,QAAQ,EAAE,GAAG,WAAW,CAAC,MACnG,CAAC;iBACvB;aACJ;YACD,OAAO,gCACA,KAAK,KACR,OAAO,8DAAM,KAAK,CAAC,OAAO,KAAE,WAAW,EAAE,KAAK,KAAK,MAAM,CAAC,OAAO,CAAC,OAAO,KAAE,QAAQ,EAAE,QAAQ,MAC9E,CAAC;SAEvB;QAED,KAAK,UAAU,CAAC,CAAC;YACb,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE;gBACtB,qDAAW,KAAK,GAAK,MAAM,CAAC,OAAO,KAAE,YAAY,EAAE,SAAS,EAAE,kBAAkB,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,IAAC;aACpH;iBAAM;gBACH,qDAAW,KAAK,GAAK,MAAM,CAAC,OAAO,KAAE,KAAK,EAAE,EAAE,EAAE,kBAAkB,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,IAAE;aACvG;SACJ;QAED,KAAK,oBAAoB,CAAC,CAAC;YACvB,uCACO,KAAK,KACR,eAAe,kCACR,KAAK,CAAC,eAAe,KACxB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,OAEjD;SACJ;QAED,KAAK,mBAAmB,CAAC,CAAC;YACtB,MAAM,QAAQ,qBAAkC,KAAK,CAAC,cAAc,CAAC,CAAC;YAEtE,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE;gBAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;aAClC;YAED,uCAAW,KAAK,KAAE,cAAc,EAAE,QAAQ,IAAC;SAC9C;QAED,KAAK,iBAAiB,CAAC,CAAC;YACpB,uCAAW,KAAK,KAAE,YAAY,EAAE,MAAM,CAAC,OAAO,IAAC;SAClD;QAED,KAAK,uBAAuB,CAAC,CAAC;YAC1B,uCAAW,KAAK,KAAE,kBAAkB,EAAE,MAAM,CAAC,OAAO,IAAC;SACxD;QACD,KAAK,SAAS;YACV,uCAAW,KAAK,KAAE,IAAI,EAAE,MAAM,CAAC,OAAO,IAAE;QAE5C,KAAK,eAAe;YAChB,uCAAW,KAAK,KAAE,oBAAoB,EAAE,MAAM,CAAC,OAAO,IAAE;KAE/D;AACL,CAAC","sourcesContent":["import {CustomSortSettings, FastStateProps, IsLoading} from \"./context\";\r\nimport {AppType} from \"./FastSimonApi\";\r\nimport {SortBy} from \"../../@types/sortBy\";\r\nimport {FullTextServerResponseAll} from \"../../@types/results\";\r\nimport {smartCollectionsResults} from \"../../@types/categories\";\r\nimport {Narrow} from \"../../@types/narrow\";\r\nimport {Product} from \"../../@types/product\";\r\n\r\nimport {Widget} from \"../../@types/widget\";\r\nimport {AutocompleteResults} from \"../../@types/autocomplete\";\r\n\r\ntype FastStateAction =\r\n | { type: 'setReady', payload: boolean }\r\n | { type: 'setType', payload: AppType }\r\n | { type: 'setPage', payload: number }\r\n | { type: 'setQuery', payload: string }\r\n | { type: 'setSortBy', payload: SortBy }\r\n | { type: 'setIsLoading', payload: IsLoading }\r\n | { type: 'setCollectionID', payload: string }\r\n | { type: 'setNarrow', payload: Narrow[] | undefined }\r\n | { type: 'setResults', payload: FullTextServerResponseAll | smartCollectionsResults | undefined }\r\n | { type: 'mergeResults', payload: { results: FullTextServerResponseAll | smartCollectionsResults, infiniteScroll: boolean } }\r\n | { type: 'mergeFacetsWithResults', payload:Narrow[] }\r\n | { type: 'mergeResultsKeepProduct', payload: { results: FullTextServerResponseAll | smartCollectionsResults } }\r\n | { type: 'setState', payload: Partial<FastStateProps> }\r\n | { type: 'setRecommendations', payload: { id: string, widget: Widget } }\r\n | { type: 'setSingleProducts', payload: Product[] }\r\n | { type: 'setAutocomplete', payload: AutocompleteResults }\r\n | { type: 'setSearchWithinSearch', payload: string }\r\n | { type: 'setSegments', payload: string[] }\r\n | { type: 'setFlag', payload: string[] }\r\n | { type: 'setCustomSort',payload:CustomSortSettings}\r\n\r\n\r\n\r\nexport function fastStateReducer(state: FastStateProps, action: FastStateAction) {\r\n switch (action.type) {\r\n case \"setReady\":\r\n return {...state, isReady: action.payload}\r\n\r\n case 'setType':\r\n return {...state, type: action.payload};\r\n\r\n case 'setPage':\r\n return {...state, page: action.payload};\r\n\r\n case 'setQuery':\r\n return {...state, query: action.payload, collectionID: undefined, page: 1, narrow: undefined, searchWithinSearch: undefined, sortBy:undefined};\r\n\r\n case 'setSortBy':\r\n return {...state, sortBy: action.payload, page: 1};\r\n\r\n case 'setSegments':\r\n return {...state, segments: action.payload, page: 1};\r\n\r\n case 'setIsLoading':\r\n return {...state, isLoading: action.payload};\r\n\r\n case 'setCollectionID':\r\n return {...state, collectionID: action.payload, query: \"\", page: 1, narrow: undefined, searchWithinSearch: undefined , sortBy:undefined};\r\n\r\n case 'setNarrow':\r\n return {...state, narrow: action.payload, page: 1};\r\n\r\n case 'setResults':\r\n return {...state, results: {isNoResults: false, ...action.payload}} as FastStateProps;\r\n\r\n case 'mergeResultsKeepProduct': {\r\n return {...state, results: {...state.results, ...action.payload.results, products: state.results?.products || []}};\r\n }\r\n\r\n case 'mergeFacetsWithResults':{\r\n return {...state, narrow: action.payload};\r\n }\r\n\r\n case 'mergeResults': {\r\n const sortBy = action.payload.results.sortBy ?? state.sortBy\r\n\r\n if (!action.payload.infiniteScroll) {\r\n return {...state,sortBy, results: { ...action.payload.results}} as FastStateProps;\r\n }\r\n\r\n const products = state.results?.products ?? [];\r\n const newProducts = action.payload.results.products ?? [];\r\n for (const product of newProducts) {\r\n if(!products?.find(x => x.id === product.id)) {\r\n return {\r\n ...state,\r\n results: {...state.results, isNoResults: false, ...action.payload.results, products: [...products, ...newProducts]}\r\n } as FastStateProps;\r\n }\r\n }\r\n return {\r\n ...state,\r\n results: {...state.results, isNoResults: false, ...action.payload.results, products: products}\r\n } as FastStateProps;\r\n\r\n }\r\n\r\n case 'setState': {\r\n if (action.payload.query) {\r\n return {...state, ...action.payload, collectionID: undefined, searchWithinSearch: undefined, segments: undefined}\r\n } else {\r\n return {...state, ...action.payload, query: \"\", searchWithinSearch: undefined, segments: undefined};\r\n }\r\n }\r\n\r\n case \"setRecommendations\": {\r\n return {\r\n ...state,\r\n recommendations: {\r\n ...state.recommendations,\r\n [action.payload.id]: action.payload.widget\r\n }\r\n }\r\n }\r\n\r\n case \"setSingleProducts\": {\r\n const products: { [id: string]: Product } = {...state.singleProducts};\r\n\r\n for (const product of action.payload) {\r\n products[product.id] = product;\r\n }\r\n\r\n return {...state, singleProducts: products}\r\n }\r\n\r\n case \"setAutocomplete\": {\r\n return {...state, autocomplete: action.payload}\r\n }\r\n\r\n case \"setSearchWithinSearch\": {\r\n return {...state, searchWithinSearch: action.payload}\r\n }\r\n case 'setFlag':\r\n return {...state, flag: action.payload};\r\n\r\n case 'setCustomSort':\r\n return {...state, custom_sort_settings: action.payload};\r\n\r\n }\r\n}\r\n\r\n"]}
1
+ {"version":3,"file":"reducer.js","sourceRoot":"","sources":["../../../src/components/FastSimonApi/reducer.ts"],"names":[],"mappings":"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","sourcesContent":["import {CustomSortSettings, FastStateProps, IsLoading} from \"./context\";\r\nimport {AppType} from \"./FastSimonApi\";\r\nimport {SortBy} from \"../../@types/sortBy\";\r\nimport {FullTextServerResponseAll} from \"../../@types/results\";\r\nimport {smartCollectionsResults} from \"../../@types/categories\";\r\nimport {Narrow, ServerNarrow} from \"../../@types/narrow\";\r\nimport {Product} from \"../../@types/product\";\r\n\r\nimport {Widget} from \"../../@types/widget\";\r\nimport {AutocompleteResults} from \"../../@types/autocomplete\";\r\n\r\ntype FastStateAction =\r\n | { type: 'setReady', payload: boolean }\r\n | { type: 'setType', payload: AppType }\r\n | { type: 'setPage', payload: number }\r\n | { type: 'setQuery', payload: string }\r\n | { type: 'setSortBy', payload: SortBy }\r\n | { type: 'setIsLoading', payload: IsLoading }\r\n | { type: 'setCollectionID', payload: string }\r\n | { type: 'setNarrow', payload: ServerNarrow[] | undefined }\r\n | { type: 'setResults', payload: FullTextServerResponseAll | smartCollectionsResults | undefined }\r\n | { type: 'mergeResults', payload: { results: FullTextServerResponseAll | smartCollectionsResults, infiniteScroll: boolean } }\r\n | { type: 'mergeFacetsWithResults', payload:Narrow[] }\r\n | { type: 'mergeResultsKeepProduct', payload: { results: FullTextServerResponseAll | smartCollectionsResults } }\r\n | { type: 'setState', payload: Partial<FastStateProps> }\r\n | { type: 'setRecommendations', payload: { id: string, widget: Widget } }\r\n | { type: 'setSingleProducts', payload: Product[] }\r\n | { type: 'setAutocomplete', payload: AutocompleteResults }\r\n | { type: 'setSearchWithinSearch', payload: string }\r\n | { type: 'setSegments', payload: string[] }\r\n | { type: 'setFlag', payload: string[] }\r\n | { type: 'setCustomSort',payload:CustomSortSettings}\r\n\r\n\r\n\r\nexport function fastStateReducer(state: FastStateProps, action: FastStateAction) {\r\n switch (action.type) {\r\n case \"setReady\":\r\n return {...state, isReady: action.payload}\r\n\r\n case 'setType':\r\n return {...state, type: action.payload};\r\n\r\n case 'setPage':\r\n return {...state, page: action.payload};\r\n\r\n case 'setQuery':\r\n return {...state, query: action.payload, collectionID: undefined, page: 1, narrow: undefined, searchWithinSearch: undefined, sortBy:undefined};\r\n\r\n case 'setSortBy':\r\n return {...state, sortBy: action.payload, page: 1};\r\n\r\n case 'setSegments':\r\n return {...state, segments: action.payload, page: 1};\r\n\r\n case 'setIsLoading':\r\n return {...state, isLoading: action.payload};\r\n\r\n case 'setCollectionID':\r\n return {...state, collectionID: action.payload, query: \"\", page: 1, narrow: undefined, searchWithinSearch: undefined , sortBy:undefined};\r\n\r\n case 'setNarrow':\r\n return {...state, narrow: action.payload, page: 1};\r\n\r\n case 'setResults':\r\n return {...state, results: {isNoResults: false, ...action.payload}} as FastStateProps;\r\n\r\n case 'mergeResultsKeepProduct': {\r\n return {...state, results: {...state.results, ...action.payload.results, products: state.results?.products || []}};\r\n }\r\n\r\n case 'mergeFacetsWithResults':{\r\n return {...state, narrow: action.payload};\r\n }\r\n\r\n case 'mergeResults': {\r\n const sortBy = action.payload.results.sortBy ?? state.sortBy\r\n\r\n if (!action.payload.infiniteScroll) {\r\n return {...state,sortBy, results: { ...action.payload.results}} as FastStateProps;\r\n }\r\n\r\n const products = state.results?.products ?? [];\r\n const newProducts = action.payload.results.products ?? [];\r\n for (const product of newProducts) {\r\n if(!products?.find(x => x.id === product.id)) {\r\n return {\r\n ...state,\r\n results: {...state.results, isNoResults: false, ...action.payload.results, products: [...products, ...newProducts]}\r\n } as FastStateProps;\r\n }\r\n }\r\n return {\r\n ...state,\r\n results: {...state.results, isNoResults: false, ...action.payload.results, products: products}\r\n } as FastStateProps;\r\n\r\n }\r\n\r\n case 'setState': {\r\n if (action.payload.query) {\r\n return {...state, ...action.payload, collectionID: undefined, searchWithinSearch: undefined, segments: undefined}\r\n } else {\r\n return {...state, ...action.payload, query: \"\", searchWithinSearch: undefined, segments: undefined};\r\n }\r\n }\r\n\r\n case \"setRecommendations\": {\r\n return {\r\n ...state,\r\n recommendations: {\r\n ...state.recommendations,\r\n [action.payload.id]: action.payload.widget\r\n }\r\n }\r\n }\r\n\r\n case \"setSingleProducts\": {\r\n const products: { [id: string]: Product } = {...state.singleProducts};\r\n\r\n for (const product of action.payload) {\r\n products[product.id] = product;\r\n }\r\n\r\n return {...state, singleProducts: products}\r\n }\r\n\r\n case \"setAutocomplete\": {\r\n return {...state, autocomplete: action.payload}\r\n }\r\n\r\n case \"setSearchWithinSearch\": {\r\n return {...state, searchWithinSearch: action.payload}\r\n }\r\n case 'setFlag':\r\n return {...state, flag: action.payload};\r\n\r\n case 'setCustomSort':\r\n return {...state, custom_sort_settings: action.payload};\r\n\r\n }\r\n}\r\n\r\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fast-simon/dashboard-utilities",
3
- "version": "1.0.55",
3
+ "version": "1.0.57",
4
4
  "scripts": {
5
5
  "dev": "vite",
6
6
  "preview": "vite preview",