@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.
Files changed (118) hide show
  1. package/dist/@types/autocomplete.d.ts +3 -1
  2. package/dist/@types/autocomplete.js.map +1 -1
  3. package/dist/@types/banner.js.map +1 -1
  4. package/dist/@types/categories.d.ts +3 -0
  5. package/dist/@types/categories.js.map +1 -1
  6. package/dist/@types/categoriesNavigation.js.map +1 -1
  7. package/dist/@types/context.js.map +1 -1
  8. package/dist/@types/currency.js.map +1 -1
  9. package/dist/@types/editorProduct.js.map +1 -1
  10. package/dist/@types/facets.js.map +1 -1
  11. package/dist/@types/iconProps.js.map +1 -1
  12. package/dist/@types/narrow.js.map +1 -1
  13. package/dist/@types/product.js.map +1 -1
  14. package/dist/@types/promoTile.js.map +1 -1
  15. package/dist/@types/results.d.ts +7 -0
  16. package/dist/@types/results.js.map +1 -1
  17. package/dist/@types/sideMenu.js.map +1 -1
  18. package/dist/@types/sortBy.js.map +1 -1
  19. package/dist/@types/widget.js.map +1 -1
  20. package/dist/App.js.map +1 -1
  21. package/dist/components/BackOfficeFiltersMenu/BackOfficeFiltersMenu.js.map +1 -1
  22. package/dist/components/BackOfficeFiltersMenu/index.js.map +1 -1
  23. package/dist/components/BackOfficeFiltersMenu/styles.module.css +9 -9
  24. package/dist/components/BackOfficeFiltersMenu/utils.js.map +1 -1
  25. package/dist/components/CheckboxFilter/Checkbox/Checkbox.js.map +1 -1
  26. package/dist/components/CheckboxFilter/Checkbox/styles.module.css +142 -142
  27. package/dist/components/CheckboxFilter/CheckboxFilter.js.map +1 -1
  28. package/dist/components/CheckboxFilter/styles.module.css +4 -4
  29. package/dist/components/DragAndDrop/DndContextWrapper.js.map +1 -1
  30. package/dist/components/DragAndDrop/Droppable.js.map +1 -1
  31. package/dist/components/DragAndDrop/SortableItem.js.map +1 -1
  32. package/dist/components/DragAndDrop/styles.module.css +15 -15
  33. package/dist/components/FacetItem/FacetItem.js.map +1 -1
  34. package/dist/components/FacetItem/styles.module.css +54 -54
  35. package/dist/components/FastSimonApi/FastSimonApi.d.ts +3 -0
  36. package/dist/components/FastSimonApi/FastSimonApi.js +18 -10
  37. package/dist/components/FastSimonApi/FastSimonApi.js.map +1 -1
  38. package/dist/components/FastSimonApi/context.js.map +1 -1
  39. package/dist/components/FastSimonApi/index.js.map +1 -1
  40. package/dist/components/FastSimonApi/reducer.d.ts +58 -50
  41. package/dist/components/FastSimonApi/reducer.js.map +1 -1
  42. package/dist/components/FromToFilter/From/From.js.map +1 -1
  43. package/dist/components/FromToFilter/From/styles.module.css +8 -8
  44. package/dist/components/FromToFilter/FromToFilter.js.map +1 -1
  45. package/dist/components/FromToFilter/To/To.js.map +1 -1
  46. package/dist/components/FromToFilter/To/styles.module.css +8 -8
  47. package/dist/components/FromToFilter/styles.module.css +33 -33
  48. package/dist/components/FromToFilter/utils.js.map +1 -1
  49. package/dist/components/InStoreFiltersMenu/InStoreFiltersMenu.js.map +1 -1
  50. package/dist/components/InStoreFiltersMenu/index.js.map +1 -1
  51. package/dist/components/InStoreFiltersMenu/styles.module.css +9 -9
  52. package/dist/components/Input/Input.js.map +1 -1
  53. package/dist/components/Input/index.js.map +1 -1
  54. package/dist/components/Input/styles.module.css +2 -2
  55. package/dist/components/LastReceivedDateFilter/LastReceivedDate.js.map +1 -1
  56. package/dist/components/LastReceivedDateFilter/styles.module.css +40 -40
  57. package/dist/components/LastReceivedDateFilter/utils.js.map +1 -1
  58. package/dist/components/ProductLabel/ProductLabel.js.map +1 -1
  59. package/dist/components/ProductLabel/index.js.map +1 -1
  60. package/dist/components/ProductLabel/styles.module.css +41 -41
  61. package/dist/components/ProductLabel/utils.js.map +1 -1
  62. package/dist/components/RadioFilter/Radio/Radio.js.map +1 -1
  63. package/dist/components/RadioFilter/Radio/styles.module.css +144 -144
  64. package/dist/components/RadioFilter/RadioFilter.js.map +1 -1
  65. package/dist/components/RadioFilter/styles.module.css +22 -22
  66. package/dist/components/RadioFilter/utils.js.map +1 -1
  67. package/dist/components/ReactDatePicker/ReactDatePicker.js.map +1 -1
  68. package/dist/components/ReactDatePicker/index.js.map +1 -1
  69. package/dist/components/ReactDatePicker/styles.module.css +2 -2
  70. package/dist/components/RenderIfVisible/RenderIfVisible.js.map +1 -1
  71. package/dist/components/RenderIfVisible/index.js.map +1 -1
  72. package/dist/components/ScrollToTop/ScrollToTop.js.map +1 -1
  73. package/dist/components/ScrollToTop/styles.module.css +18 -18
  74. package/dist/components/SelectCard/SelectCard.js.map +1 -1
  75. package/dist/components/SelectCard/index.js.map +1 -1
  76. package/dist/components/SelectCard/styles.module.css +20 -20
  77. package/dist/components/SingleFilter/SingleFilter.js.map +1 -1
  78. package/dist/components/SingleFilter/styles.module.css +23 -23
  79. package/dist/components/SingleFilter/utils.js.map +1 -1
  80. package/dist/components/SliderFilter/SliderFilter.js.map +1 -1
  81. package/dist/components/SliderFilter/index.js.map +1 -1
  82. package/dist/components/SliderFilter/styles.module.css +15 -15
  83. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  84. package/dist/components/Tooltip/styles.module.css +33 -33
  85. package/dist/components/common.js.map +1 -1
  86. package/dist/components/productGrid/ProductGrid.js.map +1 -1
  87. package/dist/components/productGrid/index.js.map +1 -1
  88. package/dist/components/productGrid/styles.module.css +25 -25
  89. package/dist/icons/BackOfficeFiltersIcon.js.map +1 -1
  90. package/dist/icons/BannersIcon.js.map +1 -1
  91. package/dist/icons/GeneralIcon.js.map +1 -1
  92. package/dist/icons/HelpIcon.js.map +1 -1
  93. package/dist/icons/InStoreFiltersIcon.js.map +1 -1
  94. package/dist/icons/PromoteIcon.js.map +1 -1
  95. package/dist/icons/RemoveIcon.js.map +1 -1
  96. package/dist/icons/RestoreIcon.js.map +1 -1
  97. package/dist/icons/styles.module.css +60 -60
  98. package/dist/index.js.map +1 -1
  99. package/dist/main.js.map +1 -1
  100. package/dist/services/API.js.map +1 -1
  101. package/dist/services/autocomplete.d.ts +1 -1
  102. package/dist/services/autocomplete.js +2 -1
  103. package/dist/services/autocomplete.js.map +1 -1
  104. package/dist/services/getFormatProducts.js.map +1 -1
  105. package/dist/services/landingPage.js.map +1 -1
  106. package/dist/services/products.js.map +1 -1
  107. package/dist/services/search.d.ts +2 -2
  108. package/dist/services/search.js +6 -4
  109. package/dist/services/search.js.map +1 -1
  110. package/dist/services/smartCollections.d.ts +2 -2
  111. package/dist/services/smartCollections.js +6 -4
  112. package/dist/services/smartCollections.js.map +1 -1
  113. package/dist/utils/customTagsFilters.js.map +1 -1
  114. package/dist/utils/getInternalURL.js.map +1 -1
  115. package/dist/utils/getLSVectorSearch.js.map +1 -1
  116. package/dist/utils/useDragToSelect.js.map +1 -1
  117. package/dist/utils/useProductsPerRow.js.map +1 -1
  118. 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\";\r\nimport {Facet, FastCategory, FastTurbolinks} from \"./facets\";\r\nimport {PopularSearch} from \"./results\";\r\nimport {SortBy} from \"./sortBy\";\r\n\r\n\r\n\r\nexport interface AutocompleteResults {\r\n totalResults: number,\r\n categories?: FastCategory[],\r\n products: ServerProduct[]\r\n turbolinks?: FastTurbolinks[]\r\n popularSearches: PopularSearch[]\r\n query: string\r\n}\r\n\r\nexport interface autocompleteProps {\r\n storeID: number\r\n uuid: string\r\n siteKey?:string\r\n cdn?: number\r\n term: string,\r\n userToken: string,\r\n sessionStart: number,\r\n withAttributes?: boolean\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}\r\nexport interface AutocompleteReasoningResponse {\r\n auto_facets?: boolean\r\n isp_quick_view_mode?: number\r\n products: ServerProduct[]\r\n merch: {\r\n prorduct:any,\r\n rules:any,\r\n strategy:any,\r\n visual:any\r\n }\r\n personalized_products:any[]\r\n term:string\r\n totalResults: number\r\n uuid:string\r\n\r\n //all bellow wont be never field but to keep consistent with all the AIExplainer implementation\r\n sortBy?:SortBy\r\n within_search_results_for?: string,\r\n isNoResults?:any,\r\n pageCount?:number,\r\n narrow?: [string, string, string][],\r\n facets?: Facet[],\r\n page?: number,\r\n results_for?: string,\r\n id_list?:number[]\r\n turbolink?: string\r\n}"]}
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 {\r\n title: string;\r\n image: string;\r\n mobileImage?: string;\r\n id: string;\r\n}\r\n\r\nexport const videoFormats = [\".mp4\", \".mov\", \".avi\", \".wmv\", \".mkv\", \".webm\", \".flv\", \".m4v\", \".mpg\", \".mpeg\"];\r\n"]}
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\";\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 siteKey?: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 with_product_analytics?:boolean\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 id_list?:number[]\r\n analytics?: {\r\n badges?: {\r\n winners?: Record<string, string> // Product ID -> tooltip message\r\n overexposed?: Record<string, string> // Product ID -> tooltip message\r\n new_arrivals?: string[]\r\n }\r\n key_hidden_winners?: string\r\n key_overexposed?: string\r\n }\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\";\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\";\r\n\r\nimport {ServerFacet} from \"@fast-simon/utilities\";\r\nimport {ServerNarrow} from \"@fast-simon/utilities\"\r\nimport {Narrow} from \"./narrow\";\r\nimport {SortBy} from \"./sortBy\";\r\n\r\n\r\nexport interface CategoryNavigationResponse {\r\n items: EditorProduct[]\r\n facets_completed: boolean\r\n narrow?: Narrow[]\r\n p: number\r\n total_p: number\r\n total_results: number\r\n category_id: string\r\n facets: ServerFacet[]\r\n sort_by: SortBy\r\n category_description: string\r\n category_name: string\r\n category_url: string | null\r\n avoid_tag_prefixes?: string\r\n}\r\nexport interface CategoryNavigationServerResponseFacetsOnly {\r\n total_results: number\r\n term: string\r\n narrow?: ServerNarrow\r\n facets_completed: true\r\n facets: ServerFacet[]\r\n}"]}
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\";\r\nimport {EditorProduct} from \"./editorProduct\";\r\nimport {Facet, Narrow} from \"@fast-simon/utilities\";\r\nimport {MenuItemName} from \"./sideMenu\";\r\n\r\n\r\nimport {Category} from \"./categories\";\r\nexport type PinnedProduct = [number, string];\r\n\r\nexport interface ContextDataLoading {\r\n products: boolean\r\n}\r\n\r\nexport interface VisualEditorContextDataType {\r\n products: EditorProduct[];\r\n loading: ContextDataLoading;\r\n page: number;\r\n narrow: Narrow;\r\n searchWithinResultsQuery?: string;\r\n selectedNavItemName: MenuItemName;\r\n totalResults: number;\r\n totalPages: number;\r\n facets: Facet[];\r\n // actualUnpublishedProducts: EditorProduct[];\r\n selectedProductIds: Record<string, number>;\r\n selectedProductIdsArray: string[]; // for order as the record is not ordered\r\n // originalPositions?: Record<string, number>;\r\n allProductsIds: string[];\r\n sideMenuSelectedProductIds: Record<string, number>;\r\n sideMenuSearchInput: string;\r\n isDragAndDropActive: boolean;\r\n isDragToSelectActive: boolean;\r\n isCutting: boolean;\r\n selectedProducts: EditorProduct[];\r\n\r\n landingPageID?: string;\r\n uuid: string;\r\n storeID: number;\r\n query?: string;\r\n}\r\n\r\nexport interface VisualEditorDispatcherContextType {\r\n setProducts: React.Dispatch<React.SetStateAction<EditorProduct[]>>;\r\n\r\n setLoading: React.Dispatch<React.SetStateAction<ContextDataLoading>>;\r\n\r\n setPage: React.Dispatch<React.SetStateAction<number>>;\r\n\r\n setNarrow: React.Dispatch<React.SetStateAction<Narrow>>;\r\n\r\n setSearchWithinResultsQuery: React.Dispatch<React.SetStateAction<string>>;\r\n\r\n setSelectedNavItemName: React.Dispatch<React.SetStateAction<MenuItemName>>;\r\n\r\n // setCategories: React.Dispatch<React.SetStateAction<Category[]>>;\r\n // setRelatedCollections: React.Dispatch<React.SetStateAction<Category[]>>;\r\n\r\n // setPinned: React.Dispatch<React.SetStateAction<PinnedProduct[]>>;\r\n\r\n // setPromotilesPositions: React.Dispatch<React.SetStateAction<Map<string, Promotile[]>>>;\r\n\r\n // setPromoted: React.Dispatch<React.SetStateAction<string[]>>;\r\n //\r\n // setBuried: React.Dispatch<React.SetStateAction<string[]>>;\r\n //\r\n // setHidden: React.Dispatch<React.SetStateAction<string[]>>;\r\n\r\n setFacets: React.Dispatch<React.SetStateAction<Facet[]>>;\r\n\r\n // setActualBuriedProducts: React.Dispatch<React.SetStateAction<EditorProduct[]>>;\r\n\r\n // setActualHiddenProducts: React.Dispatch<React.SetStateAction<EditorProduct[]>>;\r\n\r\n // setActualUnpublishedProducts: React.Dispatch<React.SetStateAction<EditorProduct[]>>;\r\n\r\n setSelectedProductIds: React.Dispatch<React.SetStateAction<Record<string, number>>>;\r\n\r\n // setPromotiles: React.Dispatch<React.SetStateAction<Promotile[]>>;\r\n\r\n // setServerPinned: React.Dispatch<React.SetStateAction<PinnedProduct[]>>;\r\n //\r\n //\r\n // setServerPromoted: React.Dispatch<React.SetStateAction<string[]>>;\r\n //\r\n // setServerBuried: React.Dispatch<React.SetStateAction<string[]>>;\r\n //\r\n // setServerHidden: React.Dispatch<React.SetStateAction<string[]>>;\r\n //\r\n // setSelectedBannerId: React.Dispatch<React.SetStateAction<string>>;\r\n\r\n setSideMenuSelectedProductIds: React.Dispatch<React.SetStateAction<Record<string, number>>>;\r\n\r\n setSideMenuSearchInput: React.Dispatch<React.SetStateAction<string>>;\r\n setIsDragAndDropActive: React.Dispatch<React.SetStateAction<boolean>>;\r\n setIsDragToSelectActive: React.Dispatch<React.SetStateAction<boolean>>;\r\n setIsCutting: React.Dispatch<React.SetStateAction<boolean>>;\r\n setSelectedProducts: React.Dispatch<React.SetStateAction<EditorProduct[]>>;\r\n setSelectedProductIdsArray: React.Dispatch<React.SetStateAction<string[]>>;\r\n}"]}
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 =\r\n string\r\n | 'USD'\r\n | 'CRC'\r\n | 'AUD'\r\n | 'AZN'\r\n | 'NZD'\r\n | 'CAD'\r\n | 'VES'\r\n | 'SGD'\r\n | 'COP'\r\n | 'GBP'\r\n | 'BRL'\r\n | 'ILS'\r\n | 'AED'\r\n | 'JMD'\r\n | 'MYR'\r\n | 'THB'\r\n | 'DKK'\r\n | 'EGP'\r\n | 'NOK'\r\n | 'SEK'\r\n | 'HKD'\r\n | 'ZAR'\r\n | 'CHF'\r\n | 'HRK'\r\n | 'INR'\r\n | 'UAH'\r\n | 'RUB'\r\n | 'BYR'\r\n | 'IRR'\r\n | 'MXN'\r\n | 'TWD'\r\n | 'TRY'\r\n | 'TRL'\r\n | 'TL'\r\n | 'PLN'\r\n | 'HUF'\r\n | 'BGN'\r\n | 'EUR'\r\n | 'NGN'\r\n | 'RON'\r\n | 'VND'\r\n | 'BDT'\r\n | 'XOF'\r\n | 'JPY'\r\n | 'CNY'\r\n | 'KRW'\r\n | 'ARS'\r\n"]}
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":["\r\nimport { ProductLabelType } from \"./productLabel\";\r\nimport { ServerProduct} from \"./product\";\r\n\r\nexport interface EditorProduct extends ServerProduct {\r\n org_pos: number | \"\";\r\n inv_sale: ProductInvSale;\r\n productLabel?: ProductLabelType;\r\n is_unpublished?: boolean;\r\n isFilteredProduct?: boolean;\r\n // chatbotAction?: ChatbotAction;\r\n pin_to_position?: number;\r\n}\r\ninterface ProductInvSale {\r\n cost: number;\r\n d: number[];\r\n i: number;\r\n s: number;\r\n tags: string[];\r\n v: Record<string, any>;\r\n}\r\n\r\nexport interface ChatbotAction {\r\n actionName: \"promote\" | \"hide\" | \"bury\" | \"position\";\r\n srcPosition: number;\r\n destPosition: number;\r\n disabled: boolean;\r\n}\r\n\r\nexport function isEditorProduct(gridItem?: EditorProduct): gridItem is EditorProduct {\r\n if (gridItem === undefined) return false;\r\n return (gridItem as EditorProduct).l !== undefined;\r\n}"]}
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":["\r\nexport type ServerFacet = [string, FacetServerValue[], string, boolean, number] // [id, values, name, ?? ,??]\r\nexport type FacetServerValue = GeneralFacetServerValue | CategoryServerFacetValue | ColorFamilyFacetServerValue\r\nexport type GeneralFacetServerValue = [string, number] // [name, count]\r\nexport type CategoryServerFacetValue = [string, number, string, string] // [category_id, count, category_name, category_url]\r\nexport type ColorFamilyFacetServerValue = [string, number, string] // [name, count, hex_value]\r\n\r\n\r\nexport enum SpecialFacetID {\r\n Category = \"Categories\",\r\n OnSale = \"Isp-on-sale\",\r\n Price = 'Price',\r\n PriceRange = 'Price_from_to',\r\n PriceMax = 'Price_max',\r\n PriceMin = 'Price_min',\r\n InStock = \"Isp-in-stock\",\r\n Color = 'Color',\r\n ColorFamily = 'Isp-color-family',\r\n Rating = 'Isp-review-stars'\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 FastTurbolinks {\r\n l: string\r\n t: string\r\n u: string\r\n}\r\n\r\nexport type FilterID = SpecialFacetID | string\r\n\r\nexport type Facet = {\r\n id: FilterID\r\n name: string\r\n values: FacetValue[]\r\n meta?: Record<string, string | number | boolean>\r\n}\r\n\r\n\r\nexport interface FacetValue {\r\n name: string,\r\n displayName: string\r\n count: number,\r\n meta?: Record<string, string | number | boolean>\r\n}\r\n\r\nexport type Ancestor = {\r\n id: string\r\n name: string\r\n url: string\r\n doNavigate?: boolean\r\n}\r\n\r\nexport interface PriceRange {\r\n min: number;\r\n max: number;\r\n}\r\nexport const MUTUAL_FACETS = new Set<SpecialFacetID>([SpecialFacetID.InStock, SpecialFacetID.OnSale])\r\nexport const CHECKBOX_FACETS = new Set<SpecialFacetID>([SpecialFacetID.InStock, SpecialFacetID.OnSale])\r\nexport const SWITCH_FACETS = new Set<SpecialFacetID>([SpecialFacetID.InStock, SpecialFacetID.OnSale])\r\nexport const NONE_SEARCHABLE_FACETS = new Set<SpecialFacetID>([SpecialFacetID.InStock, SpecialFacetID.OnSale, SpecialFacetID.Price, SpecialFacetID.Rating])\r\nexport const COLOR_FACETS = new Set<string>([SpecialFacetID.Color.toLowerCase(), SpecialFacetID.ColorFamily.toLowerCase(), 'colour', 'cor', 'couleur', 'farbe', 'box color', 'colore'])"]}
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 {\r\n width?: number;\r\n height?: number;\r\n\r\n customClasses?: {\r\n wrapper?: string,\r\n svg?: string,\r\n path?: string\r\n };\r\n}"]}
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]\r\ntype FilterGroupName = string\r\ntype FilterValue = string\r\n\r\n\r\nexport interface Narrow {\r\n [FilterGroupName: string]: Set<FilterValue>\r\n}"]}
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\";\r\nimport {PromoTileConfig} from \"./promoTile\";\r\n\r\nexport enum FeaturedRanking {\r\n FEATURED_RANK_NO,\r\n FEATURED_RANK_ON_MATCH,\r\n FEATURED_RANK_ALWAYS,\r\n FEATURED_RANK_NEVER,\r\n}\r\n\r\nexport interface ServerProduct {\r\n c: Currency\r\n d: string\r\n f: FeaturedRanking\r\n id: productID\r\n iso: boolean\r\n l: string\r\n p: string\r\n p_c: string\r\n p_max: string\r\n p_max_c: string\r\n p_min: string\r\n p_min_c: string\r\n p_spl: number\r\n p_spl_id?: string\r\n review?: number\r\n reviews_count?: number\r\n s: string\r\n sku: string\r\n skus: string[]\r\n t: string\r\n t2: string\r\n u: string\r\n v_c: number\r\n v: string\r\n vra: ServerVariant[]\r\n vrc: object\r\n att?: Attribute[]\r\n real_sku?: string\r\n image_id?: string\r\n alt?: AlternativeColor[]\r\n inventory_lvl?: number\r\n promotile?: boolean\r\n imageID?: string\r\n rec_src?: number\r\n}\r\n\r\nexport type ServerVariant = [number, VariantData[]]\r\nexport type VariantData = [string, string[]]\r\n\r\nexport type Attribute = [string, AttributeData[]]\r\nexport type AttributeData = string[] | string[][]\r\n\r\nexport interface ServerAltProductVariant {\r\n sellable: boolean;\r\n size: string;\r\n v_id: number;\r\n}\r\n\r\nexport interface ServerAltProductData {\r\n l: string;\r\n p: string;\r\n p_c: string;\r\n p_spl: number;\r\n p_spl_id?: number;\r\n sku?: string;\r\n t: string[];\r\n vra: ServerAltProductVariant[];\r\n review?: number;\r\n reviews_count?: number;\r\n att?: any[];\r\n s?: string;\r\n p_min: string;\r\n p_max: string;\r\n}\r\n\r\nexport type AlternativeColor = [AlternativeColorName, AlternativeColorURL, productID?, ServerAltProductData?]\r\n\r\ntype AlternativeColorName = string\r\ntype AlternativeColorURL = string\r\ntype productID = number\r\n\r\nexport interface Badge {\r\n tag: string;\r\n url: string;\r\n}\r\n\r\nexport interface TextBadge {\r\n badgeText: string;\r\n tag: string;\r\n badgeStyle: {\r\n backgroundColor: string;\r\n borderColor: string;\r\n borderRadius: number;\r\n horizontal: string;\r\n vertical: string;\r\n size: number;\r\n textColor: string;\r\n }\r\n}\r\n\r\nexport interface Products {\r\n [id: string]: Product\r\n}\r\n\r\nexport interface Product {\r\n currency: Currency\r\n id: string\r\n title: string\r\n description: string\r\n variants: Variants\r\n isSoldOut: boolean\r\n price: number\r\n minPrice: number\r\n maxPrice: number\r\n maxCompare: number\r\n comparePrice: number\r\n maxFormattedCompare: string;\r\n reviewScore: number | undefined\r\n reviewCount: number | undefined\r\n imageURL: string\r\n imageURL2: string\r\n optimizedURL?: string;\r\n formattedPrice: string\r\n formattedCompare: string | undefined\r\n vendor: string\r\n sku: string\r\n s: string\r\n inventory_lvl?: number\r\n imagesSrcset: string\r\n productURL: string\r\n productBadges: Badge[]\r\n productTextBadges?: TextBadge[]\r\n alternativeProducts?: AlternativeProduct[]\r\n tags?: string[]\r\n promoTileConfig?: PromoTileConfig\r\n attributes?: Attribute[]\r\n p_spl?: number\r\n p_spl_id?: string\r\n isIspNoPrice?: boolean\r\n imageID?: string\r\n vrc?: object\r\n}\r\n\r\nexport interface Variant {\r\n id: number,\r\n attributes: {\r\n [key: string]: VariantsAttribute\r\n }\r\n}\r\n\r\nexport type Variants = Variant[]\r\n\r\nexport type VariantsAttribute = string | number | boolean | string[] | undefined\r\n\r\nexport interface AlternativeProduct {\r\n color: string,\r\n url: string,\r\n id: string,\r\n variants?: Variants,\r\n s?: string,\r\n price: number\r\n comparePrice: number,\r\n formattedCompare?: string,\r\n formattedPrice?: string,\r\n attributes?: Attribute[] | undefined\r\n}\r\n\r\nexport interface ServerPromotile {\r\n height: number;\r\n id: string;\r\n image: string;\r\n link: string;\r\n width: number;\r\n title: string;\r\n}"]}
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":["\r\ninterface Size {\r\n x: number;\r\n y: number;\r\n}\r\nexport interface PromoTileConfig {\r\n size: Size;\r\n url: string;\r\n image: string;\r\n title: string;\r\n}"]}
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}"]}
@@ -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\";\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 siteKey?:string\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 with_product_analytics?:boolean\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 sort_by?: SortBy,\r\n id_list?:number[]\r\n analytics?: {\r\n badges?: {\r\n winners?: Record<string, string> // Product ID -> tooltip message\r\n overexposed?: Record<string, string> // Product ID -> tooltip message\r\n new_arrivals?: string[]\r\n }\r\n key_hidden_winners?: string\r\n key_overexposed?: string\r\n }\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\";\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\";\r\n\r\nexport type MenuItemName = 'in-store-filters' | 'back-office-filters' | 'buried' | 'hidden' | 'unpublished' | 'banners' | 'promo-tiles' | 'related-collections' | '' | 'chatbot' | string;\r\nexport interface CustomClasses {\r\n wrapper?: string,\r\n svg?: string,\r\n path?: string\r\n}\r\nexport interface SideMenuType {\r\n menuItem: SideMenuItem\r\n menu: React.ReactNode\r\n}\r\nexport interface SideMenuItem {\r\n getIcon: (customClasses?: CustomClasses) => JSX.Element\r\n name: MenuItemName;\r\n menuTitle: string;\r\n hooverTooltip: string;\r\n position?: number\r\n isSelected?: boolean\r\n}"]}
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 =\r\n \"price_min_to_max\"\r\n | \"price_max_to_min\"\r\n | \"creation_date\"\r\n | \"creation_date_oldest\"\r\n | \"popularity\"\r\n | \"reviews\"\r\n | \"a_to_z\"\r\n | \"z_to_a\"\r\n | 'relevency'\r\n | 'relevance'\r\n | 'discount_min_to_max'\r\n | 'discount_max_to_min'\r\n\r\nexport type SortByTranslationKey =\r\n 'sort_by_best_match' |\r\n 'sort_by_price_low_to_high' |\r\n 'sort_by_price_high_to_low' |\r\n 'sort_by_newest' |\r\n 'sort_by_oldest' |\r\n 'sort_by_popularity' |\r\n 'sort_by_reviews' |\r\n 'sort_by_a_to_z' |\r\n 'sort_by_z_to_a'\r\n\r\nexport type SortByConfig = Record<SortBy, string>;"]}
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\";\r\n\r\nexport interface Widget {\r\n productID: string\r\n widgetID: string\r\n categoriesIDs: string[]\r\n payload: ServerProduct[]\r\n sources: string\r\n}"]}
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'\r\nimport \"./index.css\";\r\n\r\n\r\n\r\nconst App = () => {\r\n const products = [\r\n 'Product 1',\r\n 'Product 2',\r\n 'Product 3',\r\n 'Product 4',\r\n 'Product 5',\r\n 'Product 6'\r\n ];\r\n return (\r\n <div>\r\n <h2>Product Grid Example</h2>\r\n {/*<ProductGrid numberPerRow={3}>*/}\r\n {/* {products.map((product, index) => (*/}\r\n {/* <div key={index}>{product}</div>*/}\r\n {/* ))}*/}\r\n {/*</ProductGrid>*/}\r\n </div>\r\n );\r\n};\r\n\r\nexport default App;\r\n"]}
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":"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","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&nbsp;&nbsp;&nbsp;<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":";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';\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&nbsp;&nbsp;&nbsp;<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\";\r\n"]}
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';\r\nimport {Facet} from \"@fast-simon/utilities\";\r\nimport classes from './styles.module.css';\r\nimport classNames from \"classnames\";\r\n\r\ninterface Props {\r\n isChecked: boolean;\r\n ariaLabel?: string;\r\n children: React.ReactNode,\r\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void,\r\n id?: string\r\n}\r\n\r\nexport function Checkbox({isChecked, ariaLabel, children, onChange, id}: Props) {\r\n return (\r\n <>\r\n <div className={classNames(classes.checkbox, classes.fsCheckbox, isChecked? classes.fsSelectedCheckboxTrue: classes.fsSelectedCheckboxFalse)}>\r\n <input type=\"checkbox\" checked={isChecked}\r\n onChange={onChange}\r\n aria-label={ariaLabel}\r\n id={id}\r\n />\r\n <span className={classNames(classes.checkmark, classes.fsSerpCheckmark)} ></span>\r\n <span className={classNames(classes.checkboxLabel, classes.fsCheckboxLabel)}>\r\n {children}\r\n <slot/>\r\n </span>\r\n\r\n </div>\r\n </>\r\n)\r\n\r\n}"]}
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}"]}