@fast-simon/dashboard-utilities 1.0.83 → 1.0.85
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 +3 -1
- package/dist/@types/autocomplete.js.map +1 -1
- package/dist/@types/banner.js.map +1 -1
- package/dist/@types/categories.d.ts +3 -0
- package/dist/@types/categories.js.map +1 -1
- package/dist/@types/categoriesNavigation.js.map +1 -1
- package/dist/@types/context.js.map +1 -1
- package/dist/@types/currency.js.map +1 -1
- package/dist/@types/editorProduct.js.map +1 -1
- package/dist/@types/facets.js.map +1 -1
- package/dist/@types/iconProps.js.map +1 -1
- package/dist/@types/narrow.js.map +1 -1
- package/dist/@types/product.js.map +1 -1
- package/dist/@types/promoTile.js.map +1 -1
- package/dist/@types/results.d.ts +7 -0
- package/dist/@types/results.js.map +1 -1
- package/dist/@types/sideMenu.js.map +1 -1
- package/dist/@types/sortBy.js.map +1 -1
- package/dist/@types/widget.js.map +1 -1
- package/dist/App.js.map +1 -1
- package/dist/components/BackOfficeFiltersMenu/BackOfficeFiltersMenu.js.map +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.js.map +1 -1
- 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.js.map +1 -1
- package/dist/components/CheckboxFilter/styles.module.css +4 -4
- package/dist/components/DragAndDrop/DndContextWrapper.js.map +1 -1
- package/dist/components/DragAndDrop/Droppable.js.map +1 -1
- package/dist/components/DragAndDrop/SortableItem.js.map +1 -1
- package/dist/components/DragAndDrop/styles.module.css +15 -15
- 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 +3 -0
- package/dist/components/FastSimonApi/FastSimonApi.js +18 -10
- package/dist/components/FastSimonApi/FastSimonApi.js.map +1 -1
- package/dist/components/FastSimonApi/context.js.map +1 -1
- package/dist/components/FastSimonApi/index.js.map +1 -1
- package/dist/components/FastSimonApi/reducer.d.ts +58 -50
- package/dist/components/FastSimonApi/reducer.js.map +1 -1
- 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.js.map +1 -1
- 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.js.map +1 -1
- package/dist/components/InStoreFiltersMenu/InStoreFiltersMenu.js.map +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.js.map +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.js.map +1 -1
- package/dist/components/LastReceivedDateFilter/styles.module.css +40 -40
- package/dist/components/LastReceivedDateFilter/utils.js.map +1 -1
- package/dist/components/ProductLabel/ProductLabel.js.map +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.js.map +1 -1
- 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.js.map +1 -1
- package/dist/components/RadioFilter/styles.module.css +22 -22
- package/dist/components/RadioFilter/utils.js.map +1 -1
- package/dist/components/ReactDatePicker/ReactDatePicker.js.map +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.js.map +1 -1
- package/dist/components/RenderIfVisible/index.js.map +1 -1
- package/dist/components/ScrollToTop/ScrollToTop.js.map +1 -1
- package/dist/components/ScrollToTop/styles.module.css +18 -18
- package/dist/components/SelectCard/SelectCard.js.map +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.js.map +1 -1
- package/dist/components/SingleFilter/styles.module.css +23 -23
- package/dist/components/SingleFilter/utils.js.map +1 -1
- package/dist/components/SliderFilter/SliderFilter.js.map +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.js.map +1 -1
- package/dist/components/Tooltip/styles.module.css +33 -33
- package/dist/components/common.js.map +1 -1
- package/dist/components/productGrid/ProductGrid.js.map +1 -1
- package/dist/components/productGrid/index.js.map +1 -1
- package/dist/components/productGrid/styles.module.css +25 -25
- package/dist/icons/BackOfficeFiltersIcon.js.map +1 -1
- package/dist/icons/BannersIcon.js.map +1 -1
- package/dist/icons/GeneralIcon.js.map +1 -1
- package/dist/icons/HelpIcon.js.map +1 -1
- package/dist/icons/InStoreFiltersIcon.js.map +1 -1
- package/dist/icons/PromoteIcon.js.map +1 -1
- package/dist/icons/RemoveIcon.js.map +1 -1
- package/dist/icons/RestoreIcon.js.map +1 -1
- package/dist/icons/styles.module.css +60 -60
- package/dist/index.js.map +1 -1
- package/dist/main.js.map +1 -1
- package/dist/services/API.js.map +1 -1
- package/dist/services/autocomplete.d.ts +1 -1
- package/dist/services/autocomplete.js +2 -1
- package/dist/services/autocomplete.js.map +1 -1
- package/dist/services/getFormatProducts.js.map +1 -1
- package/dist/services/landingPage.js.map +1 -1
- package/dist/services/products.js.map +1 -1
- package/dist/services/search.d.ts +2 -2
- package/dist/services/search.js +6 -4
- package/dist/services/search.js.map +1 -1
- package/dist/services/smartCollections.d.ts +2 -2
- package/dist/services/smartCollections.js +6 -4
- package/dist/services/smartCollections.js.map +1 -1
- package/dist/utils/customTagsFilters.js.map +1 -1
- package/dist/utils/getInternalURL.js.map +1 -1
- package/dist/utils/getLSVectorSearch.js.map +1 -1
- package/dist/utils/useDragToSelect.js.map +1 -1
- package/dist/utils/useProductsPerRow.js.map +1 -1
- package/package.json +64 -64
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ServerProduct } from "./product";
|
|
2
2
|
import { Facet, FastCategory, FastTurbolinks } from "./facets";
|
|
3
|
-
import { PopularSearch } from "./results";
|
|
3
|
+
import { PopularSearch, ContextFilteringData } from "./results";
|
|
4
4
|
import { SortBy } from "./sortBy";
|
|
5
5
|
export interface AutocompleteResults {
|
|
6
6
|
totalResults: number;
|
|
@@ -27,6 +27,7 @@ export interface autocompleteProps {
|
|
|
27
27
|
disable_semantics?: boolean;
|
|
28
28
|
disable_merchandising_rules?: boolean;
|
|
29
29
|
disable_antonyms?: boolean;
|
|
30
|
+
market_context?: string | null;
|
|
30
31
|
}
|
|
31
32
|
export interface AutocompleteReasoningResponse {
|
|
32
33
|
auto_facets?: boolean;
|
|
@@ -52,4 +53,5 @@ export interface AutocompleteReasoningResponse {
|
|
|
52
53
|
results_for?: string;
|
|
53
54
|
id_list?: number[];
|
|
54
55
|
turbolink?: string;
|
|
56
|
+
context?: ContextFilteringData;
|
|
55
57
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocomplete.js","sourceRoot":"","sources":["../../src/@types/autocomplete.ts"],"names":[],"mappings":"","sourcesContent":["import {ServerProduct} from \"./product\";\
|
|
1
|
+
{"version":3,"file":"autocomplete.js","sourceRoot":"","sources":["../../src/@types/autocomplete.ts"],"names":[],"mappings":"","sourcesContent":["import {ServerProduct} from \"./product\";\nimport {Facet, FastCategory, FastTurbolinks} from \"./facets\";\nimport {PopularSearch, ContextFilteringData} from \"./results\";\nimport {SortBy} from \"./sortBy\";\n\n\n\nexport interface AutocompleteResults {\n totalResults: number,\n categories?: FastCategory[],\n products: ServerProduct[]\n turbolinks?: FastTurbolinks[]\n popularSearches: PopularSearch[]\n query: string\n}\n\nexport interface autocompleteProps {\n storeID: number\n uuid: string\n siteKey?:string\n cdn?: number\n term: string,\n userToken: string,\n sessionStart: number,\n withAttributes?: boolean\n segments?: string[],\n hasShopifyMarkets?: boolean,\n disable_turbolinks?:boolean\n disable_strategies?:boolean\n disable_merchandising?:boolean\n disable_semantics?:boolean\n disable_merchandising_rules?:boolean\n disable_antonyms?:boolean\n market_context?: string | null // Region code for market-specific filtering (e.g., \"US\", \"CA\", \"UK\")\n}\nexport interface AutocompleteReasoningResponse {\n auto_facets?: boolean\n isp_quick_view_mode?: number\n products: ServerProduct[]\n merch: {\n prorduct:any,\n rules:any,\n strategy:any,\n visual:any\n }\n personalized_products:any[]\n term:string\n totalResults: number\n uuid:string\n\n //all bellow wont be never field but to keep consistent with all the AIExplainer implementation\n sortBy?:SortBy\n within_search_results_for?: string,\n isNoResults?:any,\n pageCount?:number,\n narrow?: [string, string, string][],\n facets?: Facet[],\n page?: number,\n results_for?: string,\n id_list?:number[]\n turbolink?: string\n context?: ContextFilteringData // Context-based filtering data (market contexts)\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"banner.js","sourceRoot":"","sources":["../../src/@types/banner.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC","sourcesContent":["export interface Banner {\
|
|
1
|
+
{"version":3,"file":"banner.js","sourceRoot":"","sources":["../../src/@types/banner.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC","sourcesContent":["export interface Banner {\n title: string;\n image: string;\n mobileImage?: string;\n id: string;\n}\n\nexport const videoFormats = [\".mp4\", \".mov\", \".avi\", \".wmv\", \".mkv\", \".webm\", \".flv\", \".m4v\", \".mpg\", \".mpeg\"];\n"]}
|
|
@@ -2,6 +2,7 @@ import { SortBy } from "./sortBy";
|
|
|
2
2
|
import { Narrow, ServerNarrow } from "./narrow";
|
|
3
3
|
import { ServerProduct } from "./product";
|
|
4
4
|
import { ServerFacet } from "./facets";
|
|
5
|
+
import { ContextFilteringData } from "./results";
|
|
5
6
|
export type AncestorCategory = [string, string, string];
|
|
6
7
|
export interface RelatedCategory {
|
|
7
8
|
id: string;
|
|
@@ -60,6 +61,7 @@ export interface smartCollectionsProps {
|
|
|
60
61
|
inventory: number;
|
|
61
62
|
};
|
|
62
63
|
with_product_analytics?: boolean;
|
|
64
|
+
market_context?: string | null;
|
|
63
65
|
}
|
|
64
66
|
export type FacetRequired = 0 | 1 | 2;
|
|
65
67
|
export type smartCollectionsCallback = ({}: {
|
|
@@ -87,6 +89,7 @@ export interface smartCollectionsResults {
|
|
|
87
89
|
within_search_results_for?: string;
|
|
88
90
|
results_for?: string;
|
|
89
91
|
id_list?: number[];
|
|
92
|
+
context?: ContextFilteringData;
|
|
90
93
|
analytics?: {
|
|
91
94
|
badges?: {
|
|
92
95
|
winners?: Record<string, string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"categories.js","sourceRoot":"","sources":["../../src/@types/categories.ts"],"names":[],"mappings":"","sourcesContent":["import {SortBy} from \"./sortBy\";\
|
|
1
|
+
{"version":3,"file":"categories.js","sourceRoot":"","sources":["../../src/@types/categories.ts"],"names":[],"mappings":"","sourcesContent":["import {SortBy} from \"./sortBy\";\nimport {Narrow, ServerNarrow} from \"./narrow\";\nimport { ServerProduct} from \"./product\";\nimport {ServerFacet} from \"./facets\";\nimport {ContextFilteringData} from \"./results\";\n\n\nexport type AncestorCategory = [string, string, string] // category_id, category_name, category_url\nexport interface RelatedCategory {\n id: string\n l: string\n t: string\n u: string\n}\nexport type CategoryAncestor = [string, string, string]\nexport interface Category {\n d: string\n id: string\n l: string\n p_id: string\n t: string\n u: string\n parent_name?: string\n}\nexport interface FastCategory {\n d: string\n id: string\n l: string\n p_id: string\n t: string\n u: string\n parent_name?: string\n}\nexport interface smartCollectionsProps {\n storeID: number\n uuid: string\n siteKey?:string\n cdn: number\n categoryID: string,\n userToken: string,\n sessionStart: number,\n page?: number\n productsPerPage?: number\n sortBy?: SortBy\n narrowBy?: ServerNarrow[]\n facetRequired?: FacetRequired\n withAttributes?: boolean\n recent?: string\n rec?: boolean\n searchWithinSearch?: string,\n segments?: string[],\n hasShopifyMarkets?: boolean,\n disable_turbolinks?:boolean\n disable_strategies?:boolean\n disable_merchandising?:boolean\n disable_semantics?:boolean\n disable_merchandising_rules?:boolean\n disable_antonyms?:boolean\n custom_sort_settings?:{personalization_rank: number, creation_date: number, popularity: number, inventory: number}\n with_product_analytics?:boolean\n market_context?: string | null // Region code for market-specific filtering (e.g., \"US\", \"CA\", \"UK\")\n}\nexport type FacetRequired = 0 | 1 | 2\nexport type smartCollectionsCallback = ({}: {\n action: \"products\" | \"facets and products\"\n payload: smartCollectionsResults\n}) => void\nexport interface smartCollectionsResults {\n ancestors: CategoryAncestor[]\n categoryID: string\n name: string\n category_name: string\n products: ServerProduct[]\n facets?: ServerFacet[]\n totalResults: number\n sortBy?: SortBy,\n narrow?: Narrow[],\n isNoResults?: boolean\n page?: number\n pageCount?: number\n avoidPrefixList?: string[]\n merch?: any\n bannerHTML?: string\n turbolink?:string\n hiddenProducts?:ServerProduct[]\n within_search_results_for?:string\n results_for?: string\n id_list?:number[]\n context?: ContextFilteringData // Context-based filtering data (market contexts)\n analytics?: {\n badges?: {\n winners?: Record<string, string> // Product ID -> tooltip message\n overexposed?: Record<string, string> // Product ID -> tooltip message\n new_arrivals?: string[]\n }\n key_hidden_winners?: string\n key_overexposed?: string\n }\n\n}\nexport type inventoryCallback = ({}: {\n action: \"products inventory\"\n payload: {productsInventory: productsInventoryResults[]}\n}) => void\nexport interface productsInventoryResults {\n id: string;\n totalInventory: number;\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"categoriesNavigation.js","sourceRoot":"","sources":["../../src/@types/categoriesNavigation.ts"],"names":[],"mappings":"","sourcesContent":["import {EditorProduct} from \"./editorProduct\";\
|
|
1
|
+
{"version":3,"file":"categoriesNavigation.js","sourceRoot":"","sources":["../../src/@types/categoriesNavigation.ts"],"names":[],"mappings":"","sourcesContent":["import {EditorProduct} from \"./editorProduct\";\n\nimport {ServerFacet} from \"@fast-simon/utilities\";\nimport {ServerNarrow} from \"@fast-simon/utilities\"\nimport {Narrow} from \"./narrow\";\nimport {SortBy} from \"./sortBy\";\n\n\nexport interface CategoryNavigationResponse {\n items: EditorProduct[]\n facets_completed: boolean\n narrow?: Narrow[]\n p: number\n total_p: number\n total_results: number\n category_id: string\n facets: ServerFacet[]\n sort_by: SortBy\n category_description: string\n category_name: string\n category_url: string | null\n avoid_tag_prefixes?: string\n}\nexport interface CategoryNavigationServerResponseFacetsOnly {\n total_results: number\n term: string\n narrow?: ServerNarrow\n facets_completed: true\n facets: ServerFacet[]\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/@types/context.ts"],"names":[],"mappings":"","sourcesContent":["import React from \"react\";\
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/@types/context.ts"],"names":[],"mappings":"","sourcesContent":["import React from \"react\";\nimport {EditorProduct} from \"./editorProduct\";\nimport {Facet, Narrow} from \"@fast-simon/utilities\";\nimport {MenuItemName} from \"./sideMenu\";\n\n\nimport {Category} from \"./categories\";\nexport type PinnedProduct = [number, string];\n\nexport interface ContextDataLoading {\n products: boolean\n}\n\nexport interface VisualEditorContextDataType {\n products: EditorProduct[];\n loading: ContextDataLoading;\n page: number;\n narrow: Narrow;\n searchWithinResultsQuery?: string;\n selectedNavItemName: MenuItemName;\n totalResults: number;\n totalPages: number;\n facets: Facet[];\n // actualUnpublishedProducts: EditorProduct[];\n selectedProductIds: Record<string, number>;\n selectedProductIdsArray: string[]; // for order as the record is not ordered\n // originalPositions?: Record<string, number>;\n allProductsIds: string[];\n sideMenuSelectedProductIds: Record<string, number>;\n sideMenuSearchInput: string;\n isDragAndDropActive: boolean;\n isDragToSelectActive: boolean;\n isCutting: boolean;\n selectedProducts: EditorProduct[];\n\n landingPageID?: string;\n uuid: string;\n storeID: number;\n query?: string;\n}\n\nexport interface VisualEditorDispatcherContextType {\n setProducts: React.Dispatch<React.SetStateAction<EditorProduct[]>>;\n\n setLoading: React.Dispatch<React.SetStateAction<ContextDataLoading>>;\n\n setPage: React.Dispatch<React.SetStateAction<number>>;\n\n setNarrow: React.Dispatch<React.SetStateAction<Narrow>>;\n\n setSearchWithinResultsQuery: React.Dispatch<React.SetStateAction<string>>;\n\n setSelectedNavItemName: React.Dispatch<React.SetStateAction<MenuItemName>>;\n\n // setCategories: React.Dispatch<React.SetStateAction<Category[]>>;\n // setRelatedCollections: React.Dispatch<React.SetStateAction<Category[]>>;\n\n // setPinned: React.Dispatch<React.SetStateAction<PinnedProduct[]>>;\n\n // setPromotilesPositions: React.Dispatch<React.SetStateAction<Map<string, Promotile[]>>>;\n\n // setPromoted: React.Dispatch<React.SetStateAction<string[]>>;\n //\n // setBuried: React.Dispatch<React.SetStateAction<string[]>>;\n //\n // setHidden: React.Dispatch<React.SetStateAction<string[]>>;\n\n setFacets: React.Dispatch<React.SetStateAction<Facet[]>>;\n\n // setActualBuriedProducts: React.Dispatch<React.SetStateAction<EditorProduct[]>>;\n\n // setActualHiddenProducts: React.Dispatch<React.SetStateAction<EditorProduct[]>>;\n\n // setActualUnpublishedProducts: React.Dispatch<React.SetStateAction<EditorProduct[]>>;\n\n setSelectedProductIds: React.Dispatch<React.SetStateAction<Record<string, number>>>;\n\n // setPromotiles: React.Dispatch<React.SetStateAction<Promotile[]>>;\n\n // setServerPinned: React.Dispatch<React.SetStateAction<PinnedProduct[]>>;\n //\n //\n // setServerPromoted: React.Dispatch<React.SetStateAction<string[]>>;\n //\n // setServerBuried: React.Dispatch<React.SetStateAction<string[]>>;\n //\n // setServerHidden: React.Dispatch<React.SetStateAction<string[]>>;\n //\n // setSelectedBannerId: React.Dispatch<React.SetStateAction<string>>;\n\n setSideMenuSelectedProductIds: React.Dispatch<React.SetStateAction<Record<string, number>>>;\n\n setSideMenuSearchInput: React.Dispatch<React.SetStateAction<string>>;\n setIsDragAndDropActive: React.Dispatch<React.SetStateAction<boolean>>;\n setIsDragToSelectActive: React.Dispatch<React.SetStateAction<boolean>>;\n setIsCutting: React.Dispatch<React.SetStateAction<boolean>>;\n setSelectedProducts: React.Dispatch<React.SetStateAction<EditorProduct[]>>;\n setSelectedProductIdsArray: React.Dispatch<React.SetStateAction<string[]>>;\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"currency.js","sourceRoot":"","sources":["../../src/@types/currency.ts"],"names":[],"mappings":"","sourcesContent":["export type Currency =\
|
|
1
|
+
{"version":3,"file":"currency.js","sourceRoot":"","sources":["../../src/@types/currency.ts"],"names":[],"mappings":"","sourcesContent":["export type Currency =\n string\n | 'USD'\n | 'CRC'\n | 'AUD'\n | 'AZN'\n | 'NZD'\n | 'CAD'\n | 'VES'\n | 'SGD'\n | 'COP'\n | 'GBP'\n | 'BRL'\n | 'ILS'\n | 'AED'\n | 'JMD'\n | 'MYR'\n | 'THB'\n | 'DKK'\n | 'EGP'\n | 'NOK'\n | 'SEK'\n | 'HKD'\n | 'ZAR'\n | 'CHF'\n | 'HRK'\n | 'INR'\n | 'UAH'\n | 'RUB'\n | 'BYR'\n | 'IRR'\n | 'MXN'\n | 'TWD'\n | 'TRY'\n | 'TRL'\n | 'TL'\n | 'PLN'\n | 'HUF'\n | 'BGN'\n | 'EUR'\n | 'NGN'\n | 'RON'\n | 'VND'\n | 'BDT'\n | 'XOF'\n | 'JPY'\n | 'CNY'\n | 'KRW'\n | 'ARS'\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editorProduct.js","sourceRoot":"","sources":["../../src/@types/editorProduct.ts"],"names":[],"mappings":"AA6BA,MAAM,UAAU,eAAe,CAAC,QAAwB;IACpD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACzC,OAAQ,QAA0B,CAAC,CAAC,KAAK,SAAS,CAAC;AACvD,CAAC","sourcesContent":["\
|
|
1
|
+
{"version":3,"file":"editorProduct.js","sourceRoot":"","sources":["../../src/@types/editorProduct.ts"],"names":[],"mappings":"AA6BA,MAAM,UAAU,eAAe,CAAC,QAAwB;IACpD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACzC,OAAQ,QAA0B,CAAC,CAAC,KAAK,SAAS,CAAC;AACvD,CAAC","sourcesContent":["\nimport { ProductLabelType } from \"./productLabel\";\nimport { ServerProduct} from \"./product\";\n\nexport interface EditorProduct extends ServerProduct {\n org_pos: number | \"\";\n inv_sale: ProductInvSale;\n productLabel?: ProductLabelType;\n is_unpublished?: boolean;\n isFilteredProduct?: boolean;\n // chatbotAction?: ChatbotAction;\n pin_to_position?: number;\n}\ninterface ProductInvSale {\n cost: number;\n d: number[];\n i: number;\n s: number;\n tags: string[];\n v: Record<string, any>;\n}\n\nexport interface ChatbotAction {\n actionName: \"promote\" | \"hide\" | \"bury\" | \"position\";\n srcPosition: number;\n destPosition: number;\n disabled: boolean;\n}\n\nexport function isEditorProduct(gridItem?: EditorProduct): gridItem is EditorProduct {\n if (gridItem === undefined) return false;\n return (gridItem as EditorProduct).l !== undefined;\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"facets.js","sourceRoot":"","sources":["../../src/@types/facets.ts"],"names":[],"mappings":"AAQA,MAAM,CAAN,IAAY,cAWX;AAXD,WAAY,cAAc;IACtB,yCAAuB,CAAA;IACvB,wCAAsB,CAAA;IACtB,iCAAe,CAAA;IACf,8CAA4B,CAAA;IAC5B,wCAAsB,CAAA;IACtB,wCAAsB,CAAA;IACtB,0CAAwB,CAAA;IACxB,iCAAe,CAAA;IACf,kDAAgC,CAAA;IAChC,6CAA2B,CAAA;AAC/B,CAAC,EAXW,cAAc,KAAd,cAAc,QAWzB;AA4CD,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAiB,CAAC,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAA;AACrG,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAiB,CAAC,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAA;AACvG,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAiB,CAAC,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAA;AACrG,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAiB,CAAC,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAA;AAC3J,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAS,CAAC,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,cAAc,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAA","sourcesContent":["\
|
|
1
|
+
{"version":3,"file":"facets.js","sourceRoot":"","sources":["../../src/@types/facets.ts"],"names":[],"mappings":"AAQA,MAAM,CAAN,IAAY,cAWX;AAXD,WAAY,cAAc;IACtB,yCAAuB,CAAA;IACvB,wCAAsB,CAAA;IACtB,iCAAe,CAAA;IACf,8CAA4B,CAAA;IAC5B,wCAAsB,CAAA;IACtB,wCAAsB,CAAA;IACtB,0CAAwB,CAAA;IACxB,iCAAe,CAAA;IACf,kDAAgC,CAAA;IAChC,6CAA2B,CAAA;AAC/B,CAAC,EAXW,cAAc,KAAd,cAAc,QAWzB;AA4CD,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAiB,CAAC,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAA;AACrG,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAiB,CAAC,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAA;AACvG,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAiB,CAAC,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAA;AACrG,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAiB,CAAC,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAA;AAC3J,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAS,CAAC,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,cAAc,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAA","sourcesContent":["\nexport type ServerFacet = [string, FacetServerValue[], string, boolean, number] // [id, values, name, ?? ,??]\nexport type FacetServerValue = GeneralFacetServerValue | CategoryServerFacetValue | ColorFamilyFacetServerValue\nexport type GeneralFacetServerValue = [string, number] // [name, count]\nexport type CategoryServerFacetValue = [string, number, string, string] // [category_id, count, category_name, category_url]\nexport type ColorFamilyFacetServerValue = [string, number, string] // [name, count, hex_value]\n\n\nexport enum SpecialFacetID {\n Category = \"Categories\",\n OnSale = \"Isp-on-sale\",\n Price = 'Price',\n PriceRange = 'Price_from_to',\n PriceMax = 'Price_max',\n PriceMin = 'Price_min',\n InStock = \"Isp-in-stock\",\n Color = 'Color',\n ColorFamily = 'Isp-color-family',\n Rating = 'Isp-review-stars'\n}\nexport interface FastCategory {\n d: string\n id: string\n l: string\n p_id: string\n t: string\n u: string\n parent_name?: string\n}\nexport interface FastTurbolinks {\n l: string\n t: string\n u: string\n}\n\nexport type FilterID = SpecialFacetID | string\n\nexport type Facet = {\n id: FilterID\n name: string\n values: FacetValue[]\n meta?: Record<string, string | number | boolean>\n}\n\n\nexport interface FacetValue {\n name: string,\n displayName: string\n count: number,\n meta?: Record<string, string | number | boolean>\n}\n\nexport type Ancestor = {\n id: string\n name: string\n url: string\n doNavigate?: boolean\n}\n\nexport interface PriceRange {\n min: number;\n max: number;\n}\nexport const MUTUAL_FACETS = new Set<SpecialFacetID>([SpecialFacetID.InStock, SpecialFacetID.OnSale])\nexport const CHECKBOX_FACETS = new Set<SpecialFacetID>([SpecialFacetID.InStock, SpecialFacetID.OnSale])\nexport const SWITCH_FACETS = new Set<SpecialFacetID>([SpecialFacetID.InStock, SpecialFacetID.OnSale])\nexport const NONE_SEARCHABLE_FACETS = new Set<SpecialFacetID>([SpecialFacetID.InStock, SpecialFacetID.OnSale, SpecialFacetID.Price, SpecialFacetID.Rating])\nexport const COLOR_FACETS = new Set<string>([SpecialFacetID.Color.toLowerCase(), SpecialFacetID.ColorFamily.toLowerCase(), 'colour', 'cor', 'couleur', 'farbe', 'box color', 'colore'])"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iconProps.js","sourceRoot":"","sources":["../../src/@types/iconProps.ts"],"names":[],"mappings":"","sourcesContent":["export interface IconProps {\
|
|
1
|
+
{"version":3,"file":"iconProps.js","sourceRoot":"","sources":["../../src/@types/iconProps.ts"],"names":[],"mappings":"","sourcesContent":["export interface IconProps {\n width?: number;\n height?: number;\n\n customClasses?: {\n wrapper?: string,\n svg?: string,\n path?: string\n };\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"narrow.js","sourceRoot":"","sources":["../../src/@types/narrow.ts"],"names":[],"mappings":"","sourcesContent":["export type ServerNarrow = [FilterGroupName, FilterValue]\
|
|
1
|
+
{"version":3,"file":"narrow.js","sourceRoot":"","sources":["../../src/@types/narrow.ts"],"names":[],"mappings":"","sourcesContent":["export type ServerNarrow = [FilterGroupName, FilterValue]\ntype FilterGroupName = string\ntype FilterValue = string\n\n\nexport interface Narrow {\n [FilterGroupName: string]: Set<FilterValue>\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product.js","sourceRoot":"","sources":["../../src/@types/product.ts"],"names":[],"mappings":"AAGA,MAAM,CAAN,IAAY,eAKX;AALD,WAAY,eAAe;IACvB,6EAAgB,CAAA;IAChB,yFAAsB,CAAA;IACtB,qFAAoB,CAAA;IACpB,mFAAmB,CAAA;AACvB,CAAC,EALW,eAAe,KAAf,eAAe,QAK1B","sourcesContent":["import type {Currency} from \"./currency\";\
|
|
1
|
+
{"version":3,"file":"product.js","sourceRoot":"","sources":["../../src/@types/product.ts"],"names":[],"mappings":"AAGA,MAAM,CAAN,IAAY,eAKX;AALD,WAAY,eAAe;IACvB,6EAAgB,CAAA;IAChB,yFAAsB,CAAA;IACtB,qFAAoB,CAAA;IACpB,mFAAmB,CAAA;AACvB,CAAC,EALW,eAAe,KAAf,eAAe,QAK1B","sourcesContent":["import type {Currency} from \"./currency\";\nimport {PromoTileConfig} from \"./promoTile\";\n\nexport enum FeaturedRanking {\n FEATURED_RANK_NO,\n FEATURED_RANK_ON_MATCH,\n FEATURED_RANK_ALWAYS,\n FEATURED_RANK_NEVER,\n}\n\nexport interface ServerProduct {\n c: Currency\n d: string\n f: FeaturedRanking\n id: productID\n iso: boolean\n l: string\n p: string\n p_c: string\n p_max: string\n p_max_c: string\n p_min: string\n p_min_c: string\n p_spl: number\n p_spl_id?: string\n review?: number\n reviews_count?: number\n s: string\n sku: string\n skus: string[]\n t: string\n t2: string\n u: string\n v_c: number\n v: string\n vra: ServerVariant[]\n vrc: object\n att?: Attribute[]\n real_sku?: string\n image_id?: string\n alt?: AlternativeColor[]\n inventory_lvl?: number\n promotile?: boolean\n imageID?: string\n rec_src?: number\n}\n\nexport type ServerVariant = [number, VariantData[]]\nexport type VariantData = [string, string[]]\n\nexport type Attribute = [string, AttributeData[]]\nexport type AttributeData = string[] | string[][]\n\nexport interface ServerAltProductVariant {\n sellable: boolean;\n size: string;\n v_id: number;\n}\n\nexport interface ServerAltProductData {\n l: string;\n p: string;\n p_c: string;\n p_spl: number;\n p_spl_id?: number;\n sku?: string;\n t: string[];\n vra: ServerAltProductVariant[];\n review?: number;\n reviews_count?: number;\n att?: any[];\n s?: string;\n p_min: string;\n p_max: string;\n}\n\nexport type AlternativeColor = [AlternativeColorName, AlternativeColorURL, productID?, ServerAltProductData?]\n\ntype AlternativeColorName = string\ntype AlternativeColorURL = string\ntype productID = number\n\nexport interface Badge {\n tag: string;\n url: string;\n}\n\nexport interface TextBadge {\n badgeText: string;\n tag: string;\n badgeStyle: {\n backgroundColor: string;\n borderColor: string;\n borderRadius: number;\n horizontal: string;\n vertical: string;\n size: number;\n textColor: string;\n }\n}\n\nexport interface Products {\n [id: string]: Product\n}\n\nexport interface Product {\n currency: Currency\n id: string\n title: string\n description: string\n variants: Variants\n isSoldOut: boolean\n price: number\n minPrice: number\n maxPrice: number\n maxCompare: number\n comparePrice: number\n maxFormattedCompare: string;\n reviewScore: number | undefined\n reviewCount: number | undefined\n imageURL: string\n imageURL2: string\n optimizedURL?: string;\n formattedPrice: string\n formattedCompare: string | undefined\n vendor: string\n sku: string\n s: string\n inventory_lvl?: number\n imagesSrcset: string\n productURL: string\n productBadges: Badge[]\n productTextBadges?: TextBadge[]\n alternativeProducts?: AlternativeProduct[]\n tags?: string[]\n promoTileConfig?: PromoTileConfig\n attributes?: Attribute[]\n p_spl?: number\n p_spl_id?: string\n isIspNoPrice?: boolean\n imageID?: string\n vrc?: object\n}\n\nexport interface Variant {\n id: number,\n attributes: {\n [key: string]: VariantsAttribute\n }\n}\n\nexport type Variants = Variant[]\n\nexport type VariantsAttribute = string | number | boolean | string[] | undefined\n\nexport interface AlternativeProduct {\n color: string,\n url: string,\n id: string,\n variants?: Variants,\n s?: string,\n price: number\n comparePrice: number,\n formattedCompare?: string,\n formattedPrice?: string,\n attributes?: Attribute[] | undefined\n}\n\nexport interface ServerPromotile {\n height: number;\n id: string;\n image: string;\n link: string;\n width: number;\n title: string;\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promoTile.js","sourceRoot":"","sources":["../../src/@types/promoTile.ts"],"names":[],"mappings":"","sourcesContent":["\
|
|
1
|
+
{"version":3,"file":"promoTile.js","sourceRoot":"","sources":["../../src/@types/promoTile.ts"],"names":[],"mappings":"","sourcesContent":["\ninterface Size {\n x: number;\n y: number;\n}\nexport interface PromoTileConfig {\n size: Size;\n url: string;\n image: string;\n title: string;\n}"]}
|
package/dist/@types/results.d.ts
CHANGED
|
@@ -77,6 +77,12 @@ export interface fullTextSearchProps {
|
|
|
77
77
|
inventory: number;
|
|
78
78
|
};
|
|
79
79
|
with_product_analytics?: boolean;
|
|
80
|
+
market_context?: string | null;
|
|
81
|
+
}
|
|
82
|
+
export interface ContextFilteringData {
|
|
83
|
+
hidden: number[];
|
|
84
|
+
unpublished: Record<number, string>;
|
|
85
|
+
unsellable: Record<number, string>;
|
|
80
86
|
}
|
|
81
87
|
export interface fullTextSearchResponse {
|
|
82
88
|
products: ServerProduct[];
|
|
@@ -114,6 +120,7 @@ export interface FullTextServerResponseAll extends fullTextSearchResponse {
|
|
|
114
120
|
pageCount?: number;
|
|
115
121
|
sort_by?: SortBy;
|
|
116
122
|
id_list?: number[];
|
|
123
|
+
context?: ContextFilteringData;
|
|
117
124
|
analytics?: {
|
|
118
125
|
badges?: {
|
|
119
126
|
winners?: Record<string, string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"results.js","sourceRoot":"","sources":["../../src/@types/results.ts"],"names":[],"mappings":"","sourcesContent":["import type {Narrow, ServerNarrow} from \"./narrow\";\
|
|
1
|
+
{"version":3,"file":"results.js","sourceRoot":"","sources":["../../src/@types/results.ts"],"names":[],"mappings":"","sourcesContent":["import type {Narrow, ServerNarrow} from \"./narrow\";\nimport type {SortBy} from \"./sortBy\";\n\nimport type { Facet} from \"./facets\";\nimport {AncestorCategory, RelatedCategory} from \"./categories\";\n\nimport {Product, ServerProduct} from \"./product\";\n\nexport interface PopularSearch {\n label: string\n type: \"p\"\n}\ninterface Base {\n narrow: Narrow,\n sortBy: SortBy,\n totalResults: number,\n page: number,\n totalPages: number,\n products: Product[],\n facets: Facet[],\n avoidTagPrefixes: string[],\n sort: SortBy,\n productIDS: string[],\n bannerHTML: string,\n bannerHTMLMobile: string,\n // ancestors: Ancestor[]\n}\n\nexport interface SearchResults extends Base {\n query: string,\n totalCMS: number,\n didYouMean?: string[],\n personalizedProductIds: number[],\n sessionProductIds: number[],\n resultsFor?: string,\n isRelatedResults?: boolean\n relatedSearch?: string[]\n}\n\nexport interface CategoryResults extends Base {\n categoryID: string,\n categoryName: string,\n personalizationRecencyLimit?: number,\n personalizedProductIds: number[],\n sessionProductIds: number[],\n relatedCategories: RelatedCategory[],\n}\n\nexport interface LandingPageResults extends Base {\n lpSlug: string,\n title: string,\n indexPage: number\n}\n\nexport type FacetRequired = 0 | 1 | 2\nexport type CategoryAncestor = [string, string, string]\n\nexport interface fullTextSearchProps {\n term: string\n storeID: number\n siteKey?:string\n uuid: string\n cdn?: number\n userToken: string,\n sessionStart: number,\n page?: number\n productsPerPage?: number\n sortBy?: SortBy\n narrowBy?: ServerNarrow[]\n facetRequired?: FacetRequired\n withAttributes?: boolean\n recent?: string\n searchWithinSearch?: string,\n segments?: string[]\n hasShopifyMarkets?: boolean\n disable_turbolinks?:boolean\n disable_strategies?:boolean\n disable_merchandising?:boolean\n disable_semantics?:boolean\n disable_merchandising_rules?:boolean\n disable_antonyms?:boolean\n custom_sort_settings?:{personalization_rank: number, creation_date: number, popularity: number, inventory: number}\n with_product_analytics?:boolean\n market_context?: string | null // Region code for market-specific filtering (e.g., \"US\", \"CA\", \"UK\")\n}\nexport interface ContextFilteringData {\n hidden: number[] // Product IDs hidden by context filtering\n unpublished: Record<number, string> // product_id -> region_code (e.g., \"US\", \"CA\")\n unsellable: Record<number, string> // product_id -> region_code (e.g., \"UK\", \"FR\")\n}\n\nexport interface fullTextSearchResponse {\n products: ServerProduct[]\n facets: Facet[]\n total_results: number\n facets_completed?: boolean\n sortBy?: SortBy,\n narrow: [string, string, string][]\n pop_products_no_results?: boolean\n page: number\n total_p: number\n personalized_products?: number[],\n ancestor_categories?: CategoryAncestor[]\n avoid_tag_prefixes?: string\n merch?: any\n}\nexport interface FullTextServerResponseAll extends fullTextSearchResponse{\n alternatives?: string[]\n term: string\n cms_number_found?: number\n within_search_results_for?: string\n banner_html: string\n banner_html_mobile: string\n turbolink?: string\n personalized_products?: number[]\n session_products?: number[]\n results_for?: string\n related_results?: boolean,\n ancestor_categories?: AncestorCategory[],\n related_search?: string[],\n hidden?:any,\n isNoResults?:any,\n totalResults?:any,\n hiddenProducts?:ServerProduct[],\n pageCount?:number,\n sort_by?: SortBy,\n id_list?:number[]\n context?: ContextFilteringData // Context-based filtering data (market contexts)\n analytics?: {\n badges?: {\n winners?: Record<string, string> // Product ID -> tooltip message\n overexposed?: Record<string, string> // Product ID -> tooltip message\n new_arrivals?: string[]\n }\n key_hidden_winners?: string\n key_overexposed?: string\n }\n\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sideMenu.js","sourceRoot":"","sources":["../../src/@types/sideMenu.ts"],"names":[],"mappings":"","sourcesContent":["import React from \"react\";\
|
|
1
|
+
{"version":3,"file":"sideMenu.js","sourceRoot":"","sources":["../../src/@types/sideMenu.ts"],"names":[],"mappings":"","sourcesContent":["import React from \"react\";\n\nexport type MenuItemName = 'in-store-filters' | 'back-office-filters' | 'buried' | 'hidden' | 'unpublished' | 'banners' | 'promo-tiles' | 'related-collections' | '' | 'chatbot' | string;\nexport interface CustomClasses {\n wrapper?: string,\n svg?: string,\n path?: string\n}\nexport interface SideMenuType {\n menuItem: SideMenuItem\n menu: React.ReactNode\n}\nexport interface SideMenuItem {\n getIcon: (customClasses?: CustomClasses) => JSX.Element\n name: MenuItemName;\n menuTitle: string;\n hooverTooltip: string;\n position?: number\n isSelected?: boolean\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sortBy.js","sourceRoot":"","sources":["../../src/@types/sortBy.ts"],"names":[],"mappings":"","sourcesContent":["export type SortBy =\
|
|
1
|
+
{"version":3,"file":"sortBy.js","sourceRoot":"","sources":["../../src/@types/sortBy.ts"],"names":[],"mappings":"","sourcesContent":["export type SortBy =\n \"price_min_to_max\"\n | \"price_max_to_min\"\n | \"creation_date\"\n | \"creation_date_oldest\"\n | \"popularity\"\n | \"reviews\"\n | \"a_to_z\"\n | \"z_to_a\"\n | 'relevency'\n | 'relevance'\n | 'discount_min_to_max'\n | 'discount_max_to_min'\n\nexport type SortByTranslationKey =\n 'sort_by_best_match' |\n 'sort_by_price_low_to_high' |\n 'sort_by_price_high_to_low' |\n 'sort_by_newest' |\n 'sort_by_oldest' |\n 'sort_by_popularity' |\n 'sort_by_reviews' |\n 'sort_by_a_to_z' |\n 'sort_by_z_to_a'\n\nexport type SortByConfig = Record<SortBy, string>;"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widget.js","sourceRoot":"","sources":["../../src/@types/widget.ts"],"names":[],"mappings":"","sourcesContent":["import {ServerProduct} from \"./product\";\
|
|
1
|
+
{"version":3,"file":"widget.js","sourceRoot":"","sources":["../../src/@types/widget.ts"],"names":[],"mappings":"","sourcesContent":["import {ServerProduct} from \"./product\";\n\nexport interface Widget {\n productID: string\n widgetID: string\n categoriesIDs: string[]\n payload: ServerProduct[]\n sources: string\n}"]}
|
package/dist/App.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"App.js","sourceRoot":"","sources":["../src/App.tsx"],"names":[],"mappings":";AACA,OAAO,aAAa,CAAC;AAIrB,MAAM,GAAG,GAAG,GAAG,EAAE;IACb,MAAM,QAAQ,GAAG;QACjB,WAAW;QACX,WAAW;QACX,WAAW;QACX,WAAW;QACX,WAAW;QACX,WAAW;KACZ,CAAC;IACA,OAAO,CACH,wBACE,gDAA6B,GAMzB,CACP,CAAC;AACR,CAAC,CAAC;AAEF,eAAe,GAAG,CAAC","sourcesContent":["import ProductGrid from './components/productGrid'\
|
|
1
|
+
{"version":3,"file":"App.js","sourceRoot":"","sources":["../src/App.tsx"],"names":[],"mappings":";AACA,OAAO,aAAa,CAAC;AAIrB,MAAM,GAAG,GAAG,GAAG,EAAE;IACb,MAAM,QAAQ,GAAG;QACjB,WAAW;QACX,WAAW;QACX,WAAW;QACX,WAAW;QACX,WAAW;QACX,WAAW;KACZ,CAAC;IACA,OAAO,CACH,wBACE,gDAA6B,GAMzB,CACP,CAAC;AACR,CAAC,CAAC;AAEF,eAAe,GAAG,CAAC","sourcesContent":["import ProductGrid from './components/productGrid'\nimport \"./index.css\";\n\n\n\nconst App = () => {\n const products = [\n 'Product 1',\n 'Product 2',\n 'Product 3',\n 'Product 4',\n 'Product 5',\n 'Product 6'\n ];\n return (\n <div>\n <h2>Product Grid Example</h2>\n {/*<ProductGrid numberPerRow={3}>*/}\n {/* {products.map((product, index) => (*/}\n {/* <div key={index}>{product}</div>*/}\n {/* ))}*/}\n {/*</ProductGrid>*/}\n </div>\n );\n};\n\nexport default App;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BackOfficeFiltersMenu.js","sourceRoot":"","sources":["../../../src/components/BackOfficeFiltersMenu/BackOfficeFiltersMenu.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAC,QAAQ,EAAC,MAAM,OAAO,CAAC;AACtC,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAEH,YAAY,EACZ,WAAW,GAEd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAC,YAAY,EAAC,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAC,oBAAoB,EAAE,8BAA8B,EAAE,wBAAwB,EAAC,MAAM,SAAS,CAAC;AAEvG,OAAO,UAAU,MAAM,YAAY,CAAC;AAQpC,MAAM,qBAAqB,GAAoB,CAAC,EAAC,MAAM,EAAE,cAAc,EAAE,YAAY,EAAC,EAAE,EAAE;;IACtF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAM,oBAAoB,EAAE,CAAC,CAAC;IACpE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IACrE,IAAI,KAAmD,CAAC;IACxD,MAAM,cAAc,GAAG,CAAC,OAAe,EAAE,KAAa,EAAE,kBAA4B,EAAE,QAAiB,EAAE,MAAe,EAAE,EAAE;QACxH,iBAAiB,CAAC,IAAI,CAAC,CAAA;QACvB,YAAY,CAAC,KAAK,CAAC,CAAC;QAEpB,IAAI,OAAO,KAAK,WAAW,EAAE;YACzB,IAAI,eAAe,GAAG,wBAAwB,CAAC,KAAK,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAE,EAAE,EAAE,MAAM,aAAN,MAAM,cAAN,MAAM,GAAE,EAAE,CAAC,CAAC;YAChF,KAAK,GAAG,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,EAAE,CAAC;YAC9B,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;;gBACpB,IAAI,SAAS,GAAuB,SAAS,CAAC;gBAC9C,CAAA,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,WAAW,CAAC,0CAAE,MAAM,kDAAI,EAAC,CAAC,CAAC,MAAA,MAAA,KAAK,CAAC,IAAI,CAAC,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,WAAW,CAAC,0CAAE,MAAM,kDAAI,CAAC,0CAAE,OAAO,mDAAG,CAAC,WAAW,EAAE,EAAE;oBACrG,SAAS,GAAG,YAAY,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,CAAA;gBAC7E,CAAC,CACJ,CAAC,CAAC,CAAC,IAAI,CAAC;gBACT,IAAG,KAAK,EAAE;oBACN,SAAS,GAAG,YAAY,CAAC,kBAAkB,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;iBACnF;gBACD,IAAI,SAAS,EAAE;oBACX,cAAc,CAAC,SAAgB,CAAC,CAAC;oBACjC,YAAY,CAAC,CAAC,CAAC,CAAC;iBACnB;gBACD,gBAAgB,EAAE,CAAA;YACtB,CAAC,EAAE,GAAG,CAAC,CAAC;YACR,OAAO;SACV;QACD,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YACpB,IAAI,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YAClE,cAAc,CAAC,SAAgB,CAAC,CAAC;YACjC,YAAY,CAAC,CAAC,CAAC,CAAC;YAChB,gBAAgB,EAAE,CAAA;QACtB,CAAC,EAAE,GAAG,CAAC,CAAC;IACZ,CAAC,CAAA;IACD,MAAM,oBAAoB,GAAG,CAAC,OAAe,EAAE,KAAa,EAAE,EAAE;QAC5D,iBAAiB,CAAC,IAAI,CAAC,CAAA;QACvB,YAAY,CAAC,KAAK,CAAC,CAAC;QAEpB,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YACpB,IAAI,SAAS,GAAW,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,EAAE;gBACP,SAAS,GAAG,MAAM,CAAC,WAAW,CAC3B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,OAAO,CAAC,CACnE,CAAC;aACL;iBAAM;gBACF,SAAS,GAAG,YAAY,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;aACxE;YACD,cAAc,CAAC,SAAgB,CAAC,CAAC;YACjC,YAAY,CAAC,CAAC,CAAC,CAAC;YAChB,gBAAgB,EAAE,CAAA;QACtB,CAAC,EAAE,GAAG,CAAC,CAAC;IACZ,CAAC,CAAA;IAED,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC1B,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC,EAAE,GAAG,CAAC,CAAC;QACR,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC,CAAA;IAED,MAAM,QAAQ,GAAG,GAAG,EAAE;QAClB,cAAc,CAAC,EAAE,CAAC,CAAC;QACnB,YAAY,CAAC,CAAC,CAAC,CAAC;QAChB,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;IACvC,CAAC,CAAA;IAED,OAAO,CACH,6BAAK,SAAS,EAAE,OAAO,CAAC,gBAAgB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,iBACnI,4BAAK,SAAS,EAAE,OAAO,CAAC,iBAAiB,gBACrC,KAAC,SAAS,IACC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA,MAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,QAAQ,CAAW,0CAAE,IAAI,KAAI,MAAM,CAAC,CAAC,CAAA,MAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,QAAQ,CAAW,0CAAE,IAAI,IAAG,UAAU,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAA,MAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,QAAQ,CAAW,0CAAE,IAAI,IAAG,UAAU,CAAC,CAAC,CAAC,CAAC,MAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,QAAQ,CAAW,0CAAE,EAAE,CAAC,EACjN,KAAK,EAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,QAAQ,CAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAC7H,IAAI,EAAE,WAAW,CAAC,WAAW,EAAE,WAAW,EAAE,8BAA8B,CAAC,QAAQ,CAAC,EACpF,aAAa,EAAE,cAAc,IAJxB,YAAY,IAAC,MAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,QAAQ,CAAW,0CAAE,EAAE,CAAC,QAAQ,EAAE,CAAA,CAIpB,IACpD,EACN,4BAAK,SAAS,EAAE,OAAO,CAAC,iBAAiB,gBACrC,KAAC,SAAS,IACC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA,MAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,kBAAkB,CAAW,0CAAE,IAAI,KAAI,MAAM,CAAC,CAAC,CAAA,MAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,kBAAkB,CAAW,0CAAE,IAAI,IAAG,UAAU,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAA,MAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,kBAAkB,CAAW,0CAAE,IAAI,IAAG,UAAU,CAAC,CAAC,CAAC,CAAC,MAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,kBAAkB,CAAW,0CAAE,EAAE,CAAC,EACzP,KAAK,EAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,kBAAkB,CAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EACvI,IAAI,EAAE,WAAW,CAAC,WAAW,EAAE,WAAW,EAAE,8BAA8B,CAAC,kBAAkB,CAAC,EAC9F,aAAa,EAAE,cAAc,IAJxB,YAAY,IAAC,MAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,kBAAkB,CAAW,0CAAE,EAAE,CAAC,QAAQ,EAAE,CAAA,CAI9B,IACpD,EACN,4BAAK,SAAS,EAAE,OAAO,CAAC,iBAAiB,gBACrC,KAAC,YAAY,IAAC,KAAK,EAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,mBAAmB,CAAY,EAAE,QAAQ,EAAE,oBAAoB,EACjF,WAAW,EAAE,8BAA8B,CAAC,mBAAmB,CAAC,GAAiB,IAC7F,EACN,4BAAK,SAAS,EAAE,OAAO,CAAC,iBAAiB,gBACrC,KAAC,YAAY,IAAC,KAAK,EAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,iBAAiB,CAAY,EAAE,QAAQ,EAAE,oBAAoB,EAC/E,WAAW,EAAE,8BAA8B,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,EAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAC,GAAG,EAAC,GAAiB,IACrH,EACN,4BAAK,SAAS,EAAE,OAAO,CAAC,iBAAiB,gBACrC,KAAC,YAAY,IAAC,KAAK,EAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,OAAO,CAAY,EAAE,QAAQ,EAAE,oBAAoB,EACrE,WAAW,EAAE,8BAA8B,CAAC,OAAO,CAAC,GAAiB,IACjF,EACN,4BAAK,SAAS,EAAE,OAAO,CAAC,iBAAiB,gBACrC,KAAC,YAAY,IAAC,KAAK,EAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,cAAc,CAAY,EAAE,QAAQ,EAAE,oBAAoB,EAC5E,WAAW,EAAE,8BAA8B,CAAC,cAAc,CAAC,GAAiB,IACxF,EACN,4BAAK,SAAS,EAAE,OAAO,CAAC,iBAAiB,gBACrC,KAAC,YAAY,IAAC,KAAK,EAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,QAAQ,CAAY,EAAE,QAAQ,EAAE,oBAAoB,EACtE,WAAW,EAAE,8BAA8B,CAAC,QAAQ,CAAC,GAAiB,IAClF,EACN,4BAAK,SAAS,EAAE,OAAO,CAAC,iBAAiB,gBACrC,KAAC,YAAY,IAAC,KAAK,EAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,eAAe,CAAY,EAAE,QAAQ,EAAE,oBAAoB,EAC7E,WAAW,EAAE,8BAA8B,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,EAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAC,GAAG,EAAC,GAAiB,IACnH,EACN,4BAAK,SAAS,EAAE,OAAO,CAAC,iBAAiB,gBACrC,KAAC,YAAY,IAAC,KAAK,EAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,mBAAmB,CAAY,EACjD,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE,WAAE,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA,CAAC,CAAC,MAAA,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,0CAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAA,CAAA,CAAC,EACvG,QAAQ,EAAE,oBAAoB,EAC9B,WAAW,EAAE,8BAA8B,CAAC,mBAAmB,CAAC,GAAiB,IAC7F,EACN,6BAAM,OAAO,EAAE,QAAQ,EAAC,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,gBAAE,2DAAkC,aAAI,IAAQ,IACvH,KACL,CACT,CAAA;AACL,CAAC,CAAC;AAEF,eAAe,qBAAqB,CAAC","sourcesContent":["import React, {useState} from 'react';\r\nimport classes from './styles.module.css';\r\nimport {FacetItem} from \"../FacetItem/FacetItem\";\r\nimport {\r\n Facet,\r\n NarrowParser,\r\n FacetsTypes,\r\n Narrow,\r\n} from \"@fast-simon/utilities\";\r\nimport {FromToFilter} from \"../FromToFilter/FromToFilter\";\r\nimport {getBackOfficeFilters, getBackOfficeFilterTooltipText, getLastReceivedTimeRange} from \"./utils\";\r\nimport {FromTo} from \"../FromToFilter/utils\";\r\nimport classNames from \"classnames\";\r\n\r\nexport interface Props {\r\n narrow: Narrow;\r\n onNarrowChange: (narrow: any) => void;\r\n onPageChange: (page: number) => void;\r\n}\r\n\r\nconst BackOfficeFiltersMenu: React.FC<Props> = ({narrow, onNarrowChange, onPageChange}) => {\r\n const [filters, setFilters] = useState<any>(getBackOfficeFilters());\r\n const [disableFilters, setDisableFilters] = useState<boolean>(false);\r\n let timer: string | number | NodeJS.Timeout | undefined;\r\n const onFilterChange = (facetid: string, value: string, updateSingleNarrow?: boolean, fromDate?: string, toDate?: string) => {\r\n setDisableFilters(true)\r\n clearTimeout(timer);\r\n\r\n if (facetid === 'merch_lrt') {\r\n let merch_ltr_value = getLastReceivedTimeRange(value, fromDate??'', toDate??'');\r\n value = merch_ltr_value ?? '';\r\n timer = setTimeout(() => {\r\n let newNarrow: Narrow | undefined = undefined;\r\n narrow?.['merch_lrt']?.values?.() ? Array.from(narrow?.['merch_lrt']?.values?.())?.forEach?.((filterValue) => {\r\n newNarrow = NarrowParser.updateSingleNarrow(narrow, facetid, filterValue)\r\n }\r\n ) : null;\r\n if(value) {\r\n newNarrow = NarrowParser.updateSingleNarrow(newNarrow ?? narrow, facetid, value)\r\n }\r\n if (newNarrow) {\r\n onNarrowChange(newNarrow as any);\r\n onPageChange(1);\r\n }\r\n disableMenuDelay()\r\n }, 750);\r\n return;\r\n }\r\n timer = setTimeout(() => {\r\n let newNarrow = NarrowParser.updateNarrow(narrow, facetid, value);\r\n onNarrowChange(newNarrow as any);\r\n onPageChange(1);\r\n disableMenuDelay()\r\n }, 750);\r\n }\r\n const onFromToFilterChange = (facetid: string, value: string) => {\r\n setDisableFilters(true)\r\n clearTimeout(timer);\r\n\r\n timer = setTimeout(() => {\r\n let newNarrow: Narrow = {};\r\n if (!value) {\r\n newNarrow = Object.fromEntries(\r\n Object.entries(narrow).filter(([key, value]) => key !== facetid)\r\n );\r\n } else {\r\n newNarrow = NarrowParser.updateSingleNarrow(narrow, facetid, value);\r\n }\r\n onNarrowChange(newNarrow as any);\r\n onPageChange(1);\r\n disableMenuDelay()\r\n }, 750);\r\n }\r\n\r\n const disableMenuDelay = () => {\r\n const timerId = setTimeout(() => {\r\n setDisableFilters(false);\r\n }, 750);\r\n return () => clearTimeout(timerId);\r\n }\r\n\r\n const clearAll = () => {\r\n onNarrowChange({});\r\n onPageChange(1);\r\n setFilters(getBackOfficeFilters());\r\n }\r\n\r\n return (\r\n <div className={classes.filtersContainer} style={{ opacity: disableFilters ? 0.5 : 1, pointerEvents: disableFilters ? 'none' : 'auto' }}>\r\n <div className={classes.sideMenuContainer}>\r\n <FacetItem key={\"fs-filters\"+(filters?.[\"filter\"] as Facet)?.id.toString()}\r\n narrow={narrow[((filters?.[\"filter\"] as Facet)?.meta && narrow[((filters?.[\"filter\"] as Facet)?.name + \"_from_to\")]) ? ((filters?.[\"filter\"] as Facet)?.name + \"_from_to\") : (filters?.[\"filter\"] as Facet)?.id]}\r\n facet={(filters?.[\"filter\"] as Facet)} onChange={onFilterChange} onNarrowChange={onNarrowChange} onPageChange={onNarrowChange}\r\n type={FacetsTypes.multiSelect} tooltipText={getBackOfficeFilterTooltipText[\"filter\"]}\r\n disableSelect={disableFilters}></FacetItem>\r\n </div>\r\n <div className={classes.sideMenuContainer}>\r\n <FacetItem key={\"fs-filters\"+(filters?.[\"lastReceivedDate\"] as Facet)?.id.toString()}\r\n narrow={narrow[((filters?.[\"lastReceivedDate\"] as Facet)?.meta && narrow[((filters?.[\"lastReceivedDate\"] as Facet)?.name + \"_from_to\")]) ? ((filters?.[\"lastReceivedDate\"] as Facet)?.name + \"_from_to\") : (filters?.[\"lastReceivedDate\"] as Facet)?.id]}\r\n facet={(filters?.[\"lastReceivedDate\"] as Facet)} onChange={onFilterChange} onNarrowChange={onNarrowChange} onPageChange={onNarrowChange}\r\n type={FacetsTypes.RadioSelect} tooltipText={getBackOfficeFilterTooltipText[\"lastReceivedDate\"]}\r\n disableSelect={disableFilters}></FacetItem>\r\n </div>\r\n <div className={classes.sideMenuContainer}>\r\n <FromToFilter facet={(filters?.[\"stockAvailability\"] as FromTo)} onChange={onFromToFilterChange}\r\n tooltipText={getBackOfficeFilterTooltipText[\"stockAvailability\"]}></FromToFilter>\r\n </div>\r\n <div className={classes.sideMenuContainer}>\r\n <FromToFilter facet={(filters?.[\"variantsInStock\"] as FromTo)} onChange={onFromToFilterChange}\r\n tooltipText={getBackOfficeFilterTooltipText[\"variantsInStock\"]} limit={{min: 0, max:100}}></FromToFilter>\r\n </div>\r\n <div className={classes.sideMenuContainer}>\r\n <FromToFilter facet={(filters?.[\"sales\"] as FromTo)} onChange={onFromToFilterChange}\r\n tooltipText={getBackOfficeFilterTooltipText[\"sales\"]}></FromToFilter>\r\n </div>\r\n <div className={classes.sideMenuContainer}>\r\n <FromToFilter facet={(filters?.[\"weeksOfStock\"] as FromTo)} onChange={onFromToFilterChange}\r\n tooltipText={getBackOfficeFilterTooltipText[\"weeksOfStock\"]}></FromToFilter>\r\n </div>\r\n <div className={classes.sideMenuContainer}>\r\n <FromToFilter facet={(filters?.[\"margin\"] as FromTo)} onChange={onFromToFilterChange}\r\n tooltipText={getBackOfficeFilterTooltipText[\"margin\"]}></FromToFilter>\r\n </div>\r\n <div className={classes.sideMenuContainer}>\r\n <FromToFilter facet={(filters?.[\"marginPercent\"] as FromTo)} onChange={onFromToFilterChange}\r\n tooltipText={getBackOfficeFilterTooltipText[\"marginPercent\"]} limit={{min: 0, max:100}}></FromToFilter>\r\n </div>\r\n <div className={classes.sideMenuContainer}>\r\n <FromToFilter facet={(filters?.[\"merchCreationDate\"] as FromTo)}\r\n convertValueCallback={(value) => {return Number(value) > 0? (Number(value) / 1000)?.toString() : value}}\r\n onChange={onFromToFilterChange}\r\n tooltipText={getBackOfficeFilterTooltipText[\"merchCreationDate\"]}></FromToFilter>\r\n </div>\r\n <span onClick={clearAll}className={classNames(classes.arrow, classes.clearAll)}><small>Clear All <i/></small>\r\n </span>\r\n </div>\r\n )\r\n};\r\n\r\nexport default BackOfficeFiltersMenu;\r\n"]}
|
|
1
|
+
{"version":3,"file":"BackOfficeFiltersMenu.js","sourceRoot":"","sources":["../../../src/components/BackOfficeFiltersMenu/BackOfficeFiltersMenu.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {useState} from 'react';\nimport classes from './styles.module.css';\nimport {FacetItem} from \"../FacetItem/FacetItem\";\nimport {\n Facet,\n NarrowParser,\n FacetsTypes,\n Narrow,\n} from \"@fast-simon/utilities\";\nimport {FromToFilter} from \"../FromToFilter/FromToFilter\";\nimport {getBackOfficeFilters, getBackOfficeFilterTooltipText, getLastReceivedTimeRange} from \"./utils\";\nimport {FromTo} from \"../FromToFilter/utils\";\nimport classNames from \"classnames\";\n\nexport interface Props {\n narrow: Narrow;\n onNarrowChange: (narrow: any) => void;\n onPageChange: (page: number) => void;\n}\n\nconst BackOfficeFiltersMenu: React.FC<Props> = ({narrow, onNarrowChange, onPageChange}) => {\n const [filters, setFilters] = useState<any>(getBackOfficeFilters());\n const [disableFilters, setDisableFilters] = useState<boolean>(false);\n let timer: string | number | NodeJS.Timeout | undefined;\n const onFilterChange = (facetid: string, value: string, updateSingleNarrow?: boolean, fromDate?: string, toDate?: string) => {\n setDisableFilters(true)\n clearTimeout(timer);\n\n if (facetid === 'merch_lrt') {\n let merch_ltr_value = getLastReceivedTimeRange(value, fromDate??'', toDate??'');\n value = merch_ltr_value ?? '';\n timer = setTimeout(() => {\n let newNarrow: Narrow | undefined = undefined;\n narrow?.['merch_lrt']?.values?.() ? Array.from(narrow?.['merch_lrt']?.values?.())?.forEach?.((filterValue) => {\n newNarrow = NarrowParser.updateSingleNarrow(narrow, facetid, filterValue)\n }\n ) : null;\n if(value) {\n newNarrow = NarrowParser.updateSingleNarrow(newNarrow ?? narrow, facetid, value)\n }\n if (newNarrow) {\n onNarrowChange(newNarrow as any);\n onPageChange(1);\n }\n disableMenuDelay()\n }, 750);\n return;\n }\n timer = setTimeout(() => {\n let newNarrow = NarrowParser.updateNarrow(narrow, facetid, value);\n onNarrowChange(newNarrow as any);\n onPageChange(1);\n disableMenuDelay()\n }, 750);\n }\n const onFromToFilterChange = (facetid: string, value: string) => {\n setDisableFilters(true)\n clearTimeout(timer);\n\n timer = setTimeout(() => {\n let newNarrow: Narrow = {};\n if (!value) {\n newNarrow = Object.fromEntries(\n Object.entries(narrow).filter(([key, value]) => key !== facetid)\n );\n } else {\n newNarrow = NarrowParser.updateSingleNarrow(narrow, facetid, value);\n }\n onNarrowChange(newNarrow as any);\n onPageChange(1);\n disableMenuDelay()\n }, 750);\n }\n\n const disableMenuDelay = () => {\n const timerId = setTimeout(() => {\n setDisableFilters(false);\n }, 750);\n return () => clearTimeout(timerId);\n }\n\n const clearAll = () => {\n onNarrowChange({});\n onPageChange(1);\n setFilters(getBackOfficeFilters());\n }\n\n return (\n <div className={classes.filtersContainer} style={{ opacity: disableFilters ? 0.5 : 1, pointerEvents: disableFilters ? 'none' : 'auto' }}>\n <div className={classes.sideMenuContainer}>\n <FacetItem key={\"fs-filters\"+(filters?.[\"filter\"] as Facet)?.id.toString()}\n narrow={narrow[((filters?.[\"filter\"] as Facet)?.meta && narrow[((filters?.[\"filter\"] as Facet)?.name + \"_from_to\")]) ? ((filters?.[\"filter\"] as Facet)?.name + \"_from_to\") : (filters?.[\"filter\"] as Facet)?.id]}\n facet={(filters?.[\"filter\"] as Facet)} onChange={onFilterChange} onNarrowChange={onNarrowChange} onPageChange={onNarrowChange}\n type={FacetsTypes.multiSelect} tooltipText={getBackOfficeFilterTooltipText[\"filter\"]}\n disableSelect={disableFilters}></FacetItem>\n </div>\n <div className={classes.sideMenuContainer}>\n <FacetItem key={\"fs-filters\"+(filters?.[\"lastReceivedDate\"] as Facet)?.id.toString()}\n narrow={narrow[((filters?.[\"lastReceivedDate\"] as Facet)?.meta && narrow[((filters?.[\"lastReceivedDate\"] as Facet)?.name + \"_from_to\")]) ? ((filters?.[\"lastReceivedDate\"] as Facet)?.name + \"_from_to\") : (filters?.[\"lastReceivedDate\"] as Facet)?.id]}\n facet={(filters?.[\"lastReceivedDate\"] as Facet)} onChange={onFilterChange} onNarrowChange={onNarrowChange} onPageChange={onNarrowChange}\n type={FacetsTypes.RadioSelect} tooltipText={getBackOfficeFilterTooltipText[\"lastReceivedDate\"]}\n disableSelect={disableFilters}></FacetItem>\n </div>\n <div className={classes.sideMenuContainer}>\n <FromToFilter facet={(filters?.[\"stockAvailability\"] as FromTo)} onChange={onFromToFilterChange}\n tooltipText={getBackOfficeFilterTooltipText[\"stockAvailability\"]}></FromToFilter>\n </div>\n <div className={classes.sideMenuContainer}>\n <FromToFilter facet={(filters?.[\"variantsInStock\"] as FromTo)} onChange={onFromToFilterChange}\n tooltipText={getBackOfficeFilterTooltipText[\"variantsInStock\"]} limit={{min: 0, max:100}}></FromToFilter>\n </div>\n <div className={classes.sideMenuContainer}>\n <FromToFilter facet={(filters?.[\"sales\"] as FromTo)} onChange={onFromToFilterChange}\n tooltipText={getBackOfficeFilterTooltipText[\"sales\"]}></FromToFilter>\n </div>\n <div className={classes.sideMenuContainer}>\n <FromToFilter facet={(filters?.[\"weeksOfStock\"] as FromTo)} onChange={onFromToFilterChange}\n tooltipText={getBackOfficeFilterTooltipText[\"weeksOfStock\"]}></FromToFilter>\n </div>\n <div className={classes.sideMenuContainer}>\n <FromToFilter facet={(filters?.[\"margin\"] as FromTo)} onChange={onFromToFilterChange}\n tooltipText={getBackOfficeFilterTooltipText[\"margin\"]}></FromToFilter>\n </div>\n <div className={classes.sideMenuContainer}>\n <FromToFilter facet={(filters?.[\"marginPercent\"] as FromTo)} onChange={onFromToFilterChange}\n tooltipText={getBackOfficeFilterTooltipText[\"marginPercent\"]} limit={{min: 0, max:100}}></FromToFilter>\n </div>\n <div className={classes.sideMenuContainer}>\n <FromToFilter facet={(filters?.[\"merchCreationDate\"] as FromTo)}\n convertValueCallback={(value) => {return Number(value) > 0? (Number(value) / 1000)?.toString() : value}}\n onChange={onFromToFilterChange}\n tooltipText={getBackOfficeFilterTooltipText[\"merchCreationDate\"]}></FromToFilter>\n </div>\n <span onClick={clearAll}className={classNames(classes.arrow, classes.clearAll)}><small>Clear All <i/></small>\n </span>\n </div>\n )\n};\n\nexport default BackOfficeFiltersMenu;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/BackOfficeFiltersMenu/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC","sourcesContent":["export { default } from \"./BackOfficeFiltersMenu\";\
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/BackOfficeFiltersMenu/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC","sourcesContent":["export { default } from \"./BackOfficeFiltersMenu\";\n"]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
.filtersContainer {
|
|
2
|
-
padding: 8px 16px;
|
|
3
|
-
font-size: 12px;
|
|
4
|
-
}
|
|
5
|
-
.clearAll {
|
|
6
|
-
color: var(--blue);
|
|
7
|
-
text-decoration: none;
|
|
8
|
-
cursor: pointer;
|
|
9
|
-
font-size: 1.2rem;
|
|
1
|
+
.filtersContainer {
|
|
2
|
+
padding: 8px 16px;
|
|
3
|
+
font-size: 12px;
|
|
4
|
+
}
|
|
5
|
+
.clearAll {
|
|
6
|
+
color: var(--blue);
|
|
7
|
+
text-decoration: none;
|
|
8
|
+
cursor: pointer;
|
|
9
|
+
font-size: 1.2rem;
|
|
10
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/components/BackOfficeFiltersMenu/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import {Facet} from \"@fast-simon/utilities\";\r\nimport {FromTo, FromToTypes} from \"../FromToFilter/utils\";\r\nimport {CustomTagsFilters} from \"../../utils/customTagsFilters\";\r\n\r\nexport const getBackOfficeFilters = (): Record<string, Facet | FromTo> => {\r\n let id = Date.now();\r\n let customTagsFilters = CustomTagsFilters.getCustomTagsFilters();\r\n let filters = {\r\n \"filter\": {\r\n id: \"merch_tags\", name: \"merch_tags\" , displayName: \"Filter by Tags\",\r\n values: [{name: \"new arrivals\", displayName: \"New Arrivals\", count: 0},\r\n {name: \"sale\", displayName: \"Sale\", count: 0},\r\n {name: \"best seller\", displayName: \"Best Seller\", count: 0}, ...customTagsFilters?.map?.(tag => ({\r\n name: tag,\r\n displayName: tag, // Capitalize the first letter and lowercase the rest\r\n count: 0\r\n }))]\r\n },\r\n \"lastReceivedDate\": {\r\n id: \"merch_lrt\", name: \"merch_lrt\" , displayName: \"Last Received Date\",\r\n values: [{name: \"All\", displayName: \"All\", count: 0},\r\n {name: \"Today\", displayName: \"Today\", count: 0},\r\n {name: \"Custom\", displayName: \"Custom\", count: 0},]\r\n },\r\n \"stockAvailability\": {\r\n id: \"merch_inventory\", name: \"Stock Availability\", displayName: \"Stock Availability\",\r\n from: {\r\n key: \"merch_inventory_from\",\r\n type: FromToTypes.number,\r\n name: \"From\",\r\n value: \"\",\r\n fromPlaceHolder: \"0\"\r\n },\r\n to: {\r\n key: \"merch_inventory_to\",\r\n type: FromToTypes.number,\r\n name: \"To\",\r\n value: \"\",\r\n toPlaceHolder: \"no limit\"\r\n }\r\n },\r\n \"variantsInStock\": {\r\n id: \"merch_percent_variants_in_stock\", name: \"Variants In Stock\", displayName: \"Variants In Stock (Percent)\",\r\n from: {\r\n key: \"merch_percent_variants_in_stock_from\",\r\n type: FromToTypes.number,\r\n name: \"From\",\r\n value: \"\",\r\n fromPlaceHolder: \"0\"\r\n },\r\n to: {\r\n key: \"merch_percent_variants_in_stock_to\",\r\n type: FromToTypes.number,\r\n name: \"To\",\r\n value: \"\",\r\n toPlaceHolder: \"100\"\r\n }\r\n },\r\n \"sales\": {\r\n id: \"merch_sales\", name: \"Sales(Weekly)\", displayName: \"Sales(Weekly)\",\r\n from: {\r\n key: \"merch_sales_from\",\r\n type: FromToTypes.number,\r\n name: \"From\",\r\n value: \"\",\r\n fromPlaceHolder: \"0\"\r\n },\r\n to: {\r\n key: \"merch_sales_to\",\r\n type: FromToTypes.number,\r\n name: \"To\",\r\n value: \"\",\r\n toPlaceHolder: \"no limit\"\r\n }\r\n },\r\n \"weeksOfStock\": {\r\n id: \"merch_wos\", name: \"Weeks Of Stock\", displayName: \"Weeks Of Stock\",\r\n from: {\r\n key: \"merch_wos_from\",\r\n type: FromToTypes.number,\r\n name: \"From\",\r\n value: \"\",\r\n fromPlaceHolder: \"0\"\r\n },\r\n to: {\r\n key: \"merch_wos_to\",\r\n type: FromToTypes.number,\r\n name: \"To\",\r\n value: \"\",\r\n toPlaceHolder: \"no limit\"\r\n }\r\n },\r\n \"margin\": {\r\n id: \"merch_margin\", name: \"Margin\", displayName: \"Margin\",\r\n from: {\r\n key: \"merch_margin_from\",\r\n type: FromToTypes.number,\r\n name: \"From\",\r\n value: \"\",\r\n fromPlaceHolder: \"0\"\r\n },\r\n to: {\r\n key: \"merch_margin_to\",\r\n type: FromToTypes.number,\r\n name: \"To\",\r\n value: \"\",\r\n toPlaceHolder: \"no limit\"\r\n }\r\n },\r\n \"marginPercent\": {\r\n id: \"merch_margin_percent\", name: \"Margin Percent\", displayName: \"Margin Percent\",\r\n from: {\r\n key: \"marginPercent_from\",\r\n type: FromToTypes.number,\r\n name: \"From\",\r\n value: \"\",\r\n fromPlaceHolder: \"0\"\r\n },\r\n to: {\r\n key: \"marginPercent_to\",\r\n type: FromToTypes.number,\r\n name: \"To\",\r\n value: \"\",\r\n toPlaceHolder: \"100\"\r\n }\r\n },\r\n \"merchCreationDate\": {\r\n id: \"merch_creation_date\", name: \"Creation Date\", displayName: \"Released Date\",\r\n from: {\r\n key: \"merch_creation_date_from\",\r\n type: FromToTypes.date,\r\n name: \"From\",\r\n value: \"\",\r\n emptyValue: \"Inf\",\r\n fromPlaceHolder: \"MM/DD/YYYY\"\r\n },\r\n to: {\r\n key: \"merch_creation_date_to\",\r\n type: FromToTypes.date,\r\n name: \"To\",\r\n value: \"\",\r\n emptyValue: \"Inf\",\r\n toPlaceHolder: \"MM/DD/YYYY\"\r\n }\r\n }\r\n };\r\n for (const [key, values] of Object.entries(filters)) {\r\n // if(((filters as any)[key] as any)?.name) {\r\n // ((filters as any)[key] as any).name += id.toString();\r\n // }\r\n if(((filters as any)[key] as any)?.from?.key) {\r\n ((filters as any)[key] as any).from.key += id.toString();\r\n }\r\n if(((filters as any)[key] as any)?.to?.key) {\r\n ((filters as any)[key] as any).to.key += id.toString();\r\n }\r\n }\r\n return filters;\r\n}\r\nexport const getCustomPriceFilter = (): FromTo => {\r\n let id = Date.now();\r\n let filters = {\r\n \"price\": {\r\n id: \"price\", name: \"Price\", displayName: \"\",\r\n from: {\r\n key: \"price_from\",\r\n type: FromToTypes.number,\r\n name: \"From\",\r\n value: \"\"\r\n },\r\n to: {\r\n key: \"price_to\",\r\n type: FromToTypes.number,\r\n name: \"To\",\r\n value: \"\"\r\n }\r\n }\r\n };\r\n for (const [key, values] of Object.entries(filters)) {\r\n if(((filters as any)[key] as any)?.name) {\r\n ((filters as any)[key] as any).name += id.toString();\r\n }\r\n if(((filters as any)[key] as any)?.from?.key) {\r\n ((filters as any)[key] as any).from.key += id.toString();\r\n }\r\n if(((filters as any)[key] as any)?.to?.key) {\r\n ((filters as any)[key] as any).to.key += id.toString();\r\n }\r\n }\r\n return filters?.[\"price\"] as FromTo;\r\n}\r\nexport const clearFilters = (filters: Record<string, Facet | FromTo>) : void => {\r\n for (const [key, values] of Object.entries(filters)) {\r\n if((filters[key] as any)?.from?.value) {\r\n (filters[key] as any).from.value = \"\";\r\n }\r\n if((filters[key] as any)?.to?.value) {\r\n (filters[key] as any).to.value = \"\";\r\n }\r\n }\r\n}\r\nexport const getLastReceivedTimeRange = (selectedType: string, fromDate: string, toDate: string): string | undefined => {\r\n\r\n const today = new Date();\r\n const todayTimestamp = new Date(today.getFullYear(), today.getMonth(), today.getDate()).getTime() / 1000;\r\n const tomorrowTimestamp = new Date(today.getFullYear(), today.getMonth(), today.getDate() + 1).getTime() / 1000;\r\n\r\n if (selectedType.toLowerCase() === 'all') {\r\n return undefined;\r\n\r\n } else if (selectedType.toLowerCase() === 'today') {\r\n return `${todayTimestamp}-${tomorrowTimestamp}`;\r\n }\r\n\r\n if (fromDate || toDate) {\r\n let fromDateTimestamp = 0;\r\n let toDateTimestamp = tomorrowTimestamp;\r\n\r\n if (fromDate) {\r\n const fromDateArr = fromDate.split('-');\r\n fromDateTimestamp = new Date(Number.parseInt(fromDateArr[2]), Number.parseInt(fromDateArr[1]) - 1, Number.parseInt(fromDateArr[0])).getTime() / 1000;\r\n }\r\n\r\n if (toDate) {\r\n const toDateArr = toDate.split('-');\r\n toDateTimestamp = new Date( Number.parseInt(toDateArr[2]), Number.parseInt(toDateArr[1]) - 1,Number.parseInt(toDateArr[0])).getTime() / 1000;\r\n }\r\n\r\n return `${fromDateTimestamp}-${toDateTimestamp}`;\r\n }\r\n\r\n return undefined;\r\n}\r\nexport const getBackOfficeFilterTooltipText: Record<string, string> = {\r\n \"filter\" : \"Shows products with selected tag filter\",\r\n \"lastReceivedDate\" : \"Shows products restocked within selected dates\",\r\n \"stockAvailability\": \"Filters products by available inventory within specified range\",\r\n \"variantsInStock\" : \"Show products with variants in specified stock range\",\r\n \"sales\" : \"Filters products by recent weekly sales volume\",\r\n \"weeksOfStock\" : \"Est. weeks inventory remains based on sales volume\",\r\n \"margin\" : \"Filters products by specified profit range\",\r\n \"marginPercent\" : \"Filters products by specified profit range in percentage\",\r\n \"merchCreationDate\" : \"Creation date or publish date (according to the definition in /settings/options)\"\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/components/BackOfficeFiltersMenu/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import {Facet} from \"@fast-simon/utilities\";\nimport {FromTo, FromToTypes} from \"../FromToFilter/utils\";\nimport {CustomTagsFilters} from \"../../utils/customTagsFilters\";\n\nexport const getBackOfficeFilters = (): Record<string, Facet | FromTo> => {\n let id = Date.now();\n let customTagsFilters = CustomTagsFilters.getCustomTagsFilters();\n let filters = {\n \"filter\": {\n id: \"merch_tags\", name: \"merch_tags\" , displayName: \"Filter by Tags\",\n values: [{name: \"new arrivals\", displayName: \"New Arrivals\", count: 0},\n {name: \"sale\", displayName: \"Sale\", count: 0},\n {name: \"best seller\", displayName: \"Best Seller\", count: 0}, ...customTagsFilters?.map?.(tag => ({\n name: tag,\n displayName: tag, // Capitalize the first letter and lowercase the rest\n count: 0\n }))]\n },\n \"lastReceivedDate\": {\n id: \"merch_lrt\", name: \"merch_lrt\" , displayName: \"Last Received Date\",\n values: [{name: \"All\", displayName: \"All\", count: 0},\n {name: \"Today\", displayName: \"Today\", count: 0},\n {name: \"Custom\", displayName: \"Custom\", count: 0},]\n },\n \"stockAvailability\": {\n id: \"merch_inventory\", name: \"Stock Availability\", displayName: \"Stock Availability\",\n from: {\n key: \"merch_inventory_from\",\n type: FromToTypes.number,\n name: \"From\",\n value: \"\",\n fromPlaceHolder: \"0\"\n },\n to: {\n key: \"merch_inventory_to\",\n type: FromToTypes.number,\n name: \"To\",\n value: \"\",\n toPlaceHolder: \"no limit\"\n }\n },\n \"variantsInStock\": {\n id: \"merch_percent_variants_in_stock\", name: \"Variants In Stock\", displayName: \"Variants In Stock (Percent)\",\n from: {\n key: \"merch_percent_variants_in_stock_from\",\n type: FromToTypes.number,\n name: \"From\",\n value: \"\",\n fromPlaceHolder: \"0\"\n },\n to: {\n key: \"merch_percent_variants_in_stock_to\",\n type: FromToTypes.number,\n name: \"To\",\n value: \"\",\n toPlaceHolder: \"100\"\n }\n },\n \"sales\": {\n id: \"merch_sales\", name: \"Sales(Weekly)\", displayName: \"Sales(Weekly)\",\n from: {\n key: \"merch_sales_from\",\n type: FromToTypes.number,\n name: \"From\",\n value: \"\",\n fromPlaceHolder: \"0\"\n },\n to: {\n key: \"merch_sales_to\",\n type: FromToTypes.number,\n name: \"To\",\n value: \"\",\n toPlaceHolder: \"no limit\"\n }\n },\n \"weeksOfStock\": {\n id: \"merch_wos\", name: \"Weeks Of Stock\", displayName: \"Weeks Of Stock\",\n from: {\n key: \"merch_wos_from\",\n type: FromToTypes.number,\n name: \"From\",\n value: \"\",\n fromPlaceHolder: \"0\"\n },\n to: {\n key: \"merch_wos_to\",\n type: FromToTypes.number,\n name: \"To\",\n value: \"\",\n toPlaceHolder: \"no limit\"\n }\n },\n \"margin\": {\n id: \"merch_margin\", name: \"Margin\", displayName: \"Margin\",\n from: {\n key: \"merch_margin_from\",\n type: FromToTypes.number,\n name: \"From\",\n value: \"\",\n fromPlaceHolder: \"0\"\n },\n to: {\n key: \"merch_margin_to\",\n type: FromToTypes.number,\n name: \"To\",\n value: \"\",\n toPlaceHolder: \"no limit\"\n }\n },\n \"marginPercent\": {\n id: \"merch_margin_percent\", name: \"Margin Percent\", displayName: \"Margin Percent\",\n from: {\n key: \"marginPercent_from\",\n type: FromToTypes.number,\n name: \"From\",\n value: \"\",\n fromPlaceHolder: \"0\"\n },\n to: {\n key: \"marginPercent_to\",\n type: FromToTypes.number,\n name: \"To\",\n value: \"\",\n toPlaceHolder: \"100\"\n }\n },\n \"merchCreationDate\": {\n id: \"merch_creation_date\", name: \"Creation Date\", displayName: \"Released Date\",\n from: {\n key: \"merch_creation_date_from\",\n type: FromToTypes.date,\n name: \"From\",\n value: \"\",\n emptyValue: \"Inf\",\n fromPlaceHolder: \"MM/DD/YYYY\"\n },\n to: {\n key: \"merch_creation_date_to\",\n type: FromToTypes.date,\n name: \"To\",\n value: \"\",\n emptyValue: \"Inf\",\n toPlaceHolder: \"MM/DD/YYYY\"\n }\n }\n };\n for (const [key, values] of Object.entries(filters)) {\n // if(((filters as any)[key] as any)?.name) {\n // ((filters as any)[key] as any).name += id.toString();\n // }\n if(((filters as any)[key] as any)?.from?.key) {\n ((filters as any)[key] as any).from.key += id.toString();\n }\n if(((filters as any)[key] as any)?.to?.key) {\n ((filters as any)[key] as any).to.key += id.toString();\n }\n }\n return filters;\n}\nexport const getCustomPriceFilter = (): FromTo => {\n let id = Date.now();\n let filters = {\n \"price\": {\n id: \"price\", name: \"Price\", displayName: \"\",\n from: {\n key: \"price_from\",\n type: FromToTypes.number,\n name: \"From\",\n value: \"\"\n },\n to: {\n key: \"price_to\",\n type: FromToTypes.number,\n name: \"To\",\n value: \"\"\n }\n }\n };\n for (const [key, values] of Object.entries(filters)) {\n if(((filters as any)[key] as any)?.name) {\n ((filters as any)[key] as any).name += id.toString();\n }\n if(((filters as any)[key] as any)?.from?.key) {\n ((filters as any)[key] as any).from.key += id.toString();\n }\n if(((filters as any)[key] as any)?.to?.key) {\n ((filters as any)[key] as any).to.key += id.toString();\n }\n }\n return filters?.[\"price\"] as FromTo;\n}\nexport const clearFilters = (filters: Record<string, Facet | FromTo>) : void => {\n for (const [key, values] of Object.entries(filters)) {\n if((filters[key] as any)?.from?.value) {\n (filters[key] as any).from.value = \"\";\n }\n if((filters[key] as any)?.to?.value) {\n (filters[key] as any).to.value = \"\";\n }\n }\n}\nexport const getLastReceivedTimeRange = (selectedType: string, fromDate: string, toDate: string): string | undefined => {\n\n const today = new Date();\n const todayTimestamp = new Date(today.getFullYear(), today.getMonth(), today.getDate()).getTime() / 1000;\n const tomorrowTimestamp = new Date(today.getFullYear(), today.getMonth(), today.getDate() + 1).getTime() / 1000;\n\n if (selectedType.toLowerCase() === 'all') {\n return undefined;\n\n } else if (selectedType.toLowerCase() === 'today') {\n return `${todayTimestamp}-${tomorrowTimestamp}`;\n }\n\n if (fromDate || toDate) {\n let fromDateTimestamp = 0;\n let toDateTimestamp = tomorrowTimestamp;\n\n if (fromDate) {\n const fromDateArr = fromDate.split('-');\n fromDateTimestamp = new Date(Number.parseInt(fromDateArr[2]), Number.parseInt(fromDateArr[1]) - 1, Number.parseInt(fromDateArr[0])).getTime() / 1000;\n }\n\n if (toDate) {\n const toDateArr = toDate.split('-');\n toDateTimestamp = new Date( Number.parseInt(toDateArr[2]), Number.parseInt(toDateArr[1]) - 1,Number.parseInt(toDateArr[0])).getTime() / 1000;\n }\n\n return `${fromDateTimestamp}-${toDateTimestamp}`;\n }\n\n return undefined;\n}\nexport const getBackOfficeFilterTooltipText: Record<string, string> = {\n \"filter\" : \"Shows products with selected tag filter\",\n \"lastReceivedDate\" : \"Shows products restocked within selected dates\",\n \"stockAvailability\": \"Filters products by available inventory within specified range\",\n \"variantsInStock\" : \"Show products with variants in specified stock range\",\n \"sales\" : \"Filters products by recent weekly sales volume\",\n \"weeksOfStock\" : \"Est. weeks inventory remains based on sales volume\",\n \"margin\" : \"Filters products by specified profit range\",\n \"marginPercent\" : \"Filters products by specified profit range in percentage\",\n \"merchCreationDate\" : \"Creation date or publish date (according to the definition in /settings/options)\"\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../../src/components/CheckboxFilter/Checkbox/Checkbox.tsx"],"names":[],"mappings":";AAEA,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,UAAU,MAAM,YAAY,CAAC;AAUpC,MAAM,UAAU,QAAQ,CAAC,EAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAQ;IAC1E,OAAO,CACH,4BACI,6BAAK,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,EAAE,SAAS,CAAA,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAA,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,iBACxI,gBAAO,IAAI,EAAC,UAAU,EAAC,OAAO,EAAE,SAAS,EACtC,QAAQ,EAAE,QAAQ,gBACF,SAAS,EACxB,EAAE,EAAE,EAAE,GACR,EACE,eAAM,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,eAAe,CAAC,GAAU,EACjF,8BAAM,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,eAAe,CAAC,iBACtE,QAAQ,EACb,gBAAO,KACJ,KAEL,GACP,CACV,CAAA;AAED,CAAC","sourcesContent":["import React, {useEffect, useState} from 'react';\
|
|
1
|
+
{"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../../src/components/CheckboxFilter/Checkbox/Checkbox.tsx"],"names":[],"mappings":";AAEA,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,UAAU,MAAM,YAAY,CAAC;AAUpC,MAAM,UAAU,QAAQ,CAAC,EAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAQ;IAC1E,OAAO,CACH,4BACI,6BAAK,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,EAAE,SAAS,CAAA,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAA,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,iBACxI,gBAAO,IAAI,EAAC,UAAU,EAAC,OAAO,EAAE,SAAS,EACtC,QAAQ,EAAE,QAAQ,gBACF,SAAS,EACxB,EAAE,EAAE,EAAE,GACR,EACE,eAAM,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,eAAe,CAAC,GAAU,EACjF,8BAAM,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,eAAe,CAAC,iBACtE,QAAQ,EACb,gBAAO,KACJ,KAEL,GACP,CACV,CAAA;AAED,CAAC","sourcesContent":["import React, {useEffect, useState} from 'react';\nimport {Facet} from \"@fast-simon/utilities\";\nimport classes from './styles.module.css';\nimport classNames from \"classnames\";\n\ninterface Props {\n isChecked: boolean;\n ariaLabel?: string;\n children: React.ReactNode,\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void,\n id?: string\n}\n\nexport function Checkbox({isChecked, ariaLabel, children, onChange, id}: Props) {\n return (\n <>\n <div className={classNames(classes.checkbox, classes.fsCheckbox, isChecked? classes.fsSelectedCheckboxTrue: classes.fsSelectedCheckboxFalse)}>\n <input type=\"checkbox\" checked={isChecked}\n onChange={onChange}\n aria-label={ariaLabel}\n id={id}\n />\n <span className={classNames(classes.checkmark, classes.fsSerpCheckmark)} ></span>\n <span className={classNames(classes.checkboxLabel, classes.fsCheckboxLabel)}>\n {children}\n <slot/>\n </span>\n\n </div>\n </>\n)\n\n}"]}
|