@fast-simon/dashboard-utilities 1.0.3 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. package/lib/@types/banner.d.ts +7 -0
  2. package/lib/@types/banner.js +2 -0
  3. package/lib/@types/banner.js.map +1 -0
  4. package/lib/@types/categories.d.ts +16 -0
  5. package/lib/@types/categories.js +2 -0
  6. package/lib/@types/categories.js.map +1 -0
  7. package/lib/@types/currency.d.ts +1 -0
  8. package/lib/@types/currency.js +2 -0
  9. package/lib/@types/currency.js.map +1 -0
  10. package/lib/@types/editorProduct.d.ts +26 -0
  11. package/lib/@types/editorProduct.js +6 -0
  12. package/lib/@types/editorProduct.js.map +1 -0
  13. package/lib/@types/iconProps.d.ts +9 -0
  14. package/lib/@types/iconProps.js +2 -0
  15. package/lib/@types/iconProps.js.map +1 -0
  16. package/lib/@types/product.d.ts +158 -0
  17. package/lib/@types/product.js +8 -0
  18. package/lib/@types/product.js.map +1 -0
  19. package/lib/@types/productLabel.d.ts +1 -0
  20. package/lib/@types/productLabel.js +2 -0
  21. package/lib/@types/productLabel.js.map +1 -0
  22. package/lib/@types/promoTile.d.ts +11 -0
  23. package/lib/@types/promoTile.js +2 -0
  24. package/lib/@types/promoTile.js.map +1 -0
  25. package/lib/@types/results.d.ts +42 -0
  26. package/lib/@types/results.js +2 -0
  27. package/lib/@types/results.js.map +1 -0
  28. package/lib/@types/sideMenu.d.ts +19 -0
  29. package/lib/@types/sideMenu.js +2 -0
  30. package/lib/@types/sideMenu.js.map +1 -0
  31. package/lib/@types/sortBy.d.ts +3 -0
  32. package/lib/@types/sortBy.js +2 -0
  33. package/lib/@types/sortBy.js.map +1 -0
  34. package/lib/App.d.ts +3 -0
  35. package/lib/App.js +15 -0
  36. package/lib/App.js.map +1 -0
  37. package/lib/components/BackOfficeFiltersMenu/BackOfficeFiltersMenu.d.ts +9 -0
  38. package/lib/components/BackOfficeFiltersMenu/BackOfficeFiltersMenu.js +74 -0
  39. package/lib/components/BackOfficeFiltersMenu/BackOfficeFiltersMenu.js.map +1 -0
  40. package/lib/components/BackOfficeFiltersMenu/index.d.ts +1 -0
  41. package/lib/components/BackOfficeFiltersMenu/index.js +2 -0
  42. package/lib/components/BackOfficeFiltersMenu/index.js.map +1 -0
  43. package/lib/components/BackOfficeFiltersMenu/utils.d.ts +7 -0
  44. package/lib/components/BackOfficeFiltersMenu/utils.js +239 -0
  45. package/lib/components/BackOfficeFiltersMenu/utils.js.map +1 -0
  46. package/lib/components/CheckboxFilter/Checkbox/Checkbox.d.ts +10 -0
  47. package/lib/components/CheckboxFilter/Checkbox/Checkbox.js +7 -0
  48. package/lib/components/CheckboxFilter/Checkbox/Checkbox.js.map +1 -0
  49. package/lib/components/CheckboxFilter/CheckboxFilter.d.ts +6 -0
  50. package/lib/components/CheckboxFilter/CheckboxFilter.js +9 -0
  51. package/lib/components/CheckboxFilter/CheckboxFilter.js.map +1 -0
  52. package/lib/components/DragAndDrop/DndContextWrapper.d.ts +20 -0
  53. package/lib/components/DragAndDrop/DndContextWrapper.js +33 -0
  54. package/lib/components/DragAndDrop/DndContextWrapper.js.map +1 -0
  55. package/lib/components/DragAndDrop/Droppable.d.ts +7 -0
  56. package/lib/components/DragAndDrop/Droppable.js +10 -0
  57. package/lib/components/DragAndDrop/Droppable.js.map +1 -0
  58. package/lib/components/DragAndDrop/SortableItem.d.ts +13 -0
  59. package/lib/components/DragAndDrop/SortableItem.js +39 -0
  60. package/lib/components/DragAndDrop/SortableItem.js.map +1 -0
  61. package/lib/components/FacetItem/FacetItem.d.ts +13 -0
  62. package/lib/components/FacetItem/FacetItem.js +40 -0
  63. package/lib/components/FacetItem/FacetItem.js.map +1 -0
  64. package/lib/components/FastSimonApi/FastSimonApi.d.ts +32 -0
  65. package/lib/components/FastSimonApi/FastSimonApi.js +398 -0
  66. package/lib/components/FastSimonApi/FastSimonApi.js.map +1 -0
  67. package/lib/components/FastSimonApi/context.d.ts +50 -0
  68. package/lib/components/FastSimonApi/context.js +10 -0
  69. package/lib/components/FastSimonApi/context.js.map +1 -0
  70. package/lib/components/FastSimonApi/index.d.ts +3 -0
  71. package/lib/components/FastSimonApi/index.js +3 -0
  72. package/lib/components/FastSimonApi/index.js.map +1 -0
  73. package/lib/components/FastSimonApi/reducer.d.ts +172 -0
  74. package/lib/components/FastSimonApi/reducer.js +67 -0
  75. package/lib/components/FastSimonApi/reducer.js.map +1 -0
  76. package/lib/components/FromToFilter/From/From.d.ts +17 -0
  77. package/lib/components/FromToFilter/From/From.js +22 -0
  78. package/lib/components/FromToFilter/From/From.js.map +1 -0
  79. package/lib/components/FromToFilter/FromToFilter.d.ts +14 -0
  80. package/lib/components/FromToFilter/FromToFilter.js +58 -0
  81. package/lib/components/FromToFilter/FromToFilter.js.map +1 -0
  82. package/lib/components/FromToFilter/To/To.d.ts +18 -0
  83. package/lib/components/FromToFilter/To/To.js +23 -0
  84. package/lib/components/FromToFilter/To/To.js.map +1 -0
  85. package/lib/components/FromToFilter/utils.d.ts +25 -0
  86. package/lib/components/FromToFilter/utils.js +7 -0
  87. package/lib/components/FromToFilter/utils.js.map +1 -0
  88. package/lib/components/InStoreFiltersMenu/InStoreFiltersMenu.d.ts +10 -0
  89. package/lib/components/InStoreFiltersMenu/InStoreFiltersMenu.js +34 -0
  90. package/lib/components/InStoreFiltersMenu/InStoreFiltersMenu.js.map +1 -0
  91. package/lib/components/InStoreFiltersMenu/index.d.ts +1 -0
  92. package/lib/components/InStoreFiltersMenu/index.js +2 -0
  93. package/lib/components/InStoreFiltersMenu/index.js.map +1 -0
  94. package/lib/components/Input/Input.d.ts +22 -0
  95. package/lib/components/Input/Input.js +49 -0
  96. package/lib/components/Input/Input.js.map +1 -0
  97. package/lib/components/Input/index.d.ts +1 -0
  98. package/lib/components/Input/index.js +2 -0
  99. package/lib/components/Input/index.js.map +1 -0
  100. package/lib/components/LastReceivedDateFilter/LastReceivedDate.d.ts +9 -0
  101. package/lib/components/LastReceivedDateFilter/LastReceivedDate.js +88 -0
  102. package/lib/components/LastReceivedDateFilter/LastReceivedDate.js.map +1 -0
  103. package/lib/components/LastReceivedDateFilter/utils.d.ts +3 -0
  104. package/lib/components/LastReceivedDateFilter/utils.js +43 -0
  105. package/lib/components/LastReceivedDateFilter/utils.js.map +1 -0
  106. package/lib/components/RadioFilter/Radio/Radio.d.ts +10 -0
  107. package/lib/components/RadioFilter/Radio/Radio.js +7 -0
  108. package/lib/components/RadioFilter/Radio/Radio.js.map +1 -0
  109. package/lib/components/RadioFilter/RadioFilter.d.ts +9 -0
  110. package/lib/components/RadioFilter/RadioFilter.js +45 -0
  111. package/lib/components/RadioFilter/RadioFilter.js.map +1 -0
  112. package/lib/components/RadioFilter/utils.d.ts +1 -0
  113. package/lib/components/RadioFilter/utils.js +8 -0
  114. package/lib/components/RadioFilter/utils.js.map +1 -0
  115. package/lib/components/ReactDatePicker/ReactDatePicker.d.ts +11 -0
  116. package/lib/components/ReactDatePicker/ReactDatePicker.js +16 -0
  117. package/lib/components/ReactDatePicker/ReactDatePicker.js.map +1 -0
  118. package/lib/components/ReactDatePicker/index.d.ts +1 -0
  119. package/lib/components/ReactDatePicker/index.js +2 -0
  120. package/lib/components/ReactDatePicker/index.js.map +1 -0
  121. package/lib/components/RenderIfVisible/RenderIfVisible.d.ts +12 -0
  122. package/lib/components/RenderIfVisible/RenderIfVisible.js +59 -0
  123. package/lib/components/RenderIfVisible/RenderIfVisible.js.map +1 -0
  124. package/lib/components/RenderIfVisible/index.d.ts +1 -0
  125. package/lib/components/RenderIfVisible/index.js +2 -0
  126. package/lib/components/RenderIfVisible/index.js.map +1 -0
  127. package/lib/components/SingleFilter/SingleFilter.d.ts +11 -0
  128. package/lib/components/SingleFilter/SingleFilter.js +90 -0
  129. package/lib/components/SingleFilter/SingleFilter.js.map +1 -0
  130. package/lib/components/SingleFilter/utils.d.ts +3 -0
  131. package/lib/components/SingleFilter/utils.js +42 -0
  132. package/lib/components/SingleFilter/utils.js.map +1 -0
  133. package/lib/components/SliderFilter/SliderFilter.d.ts +20 -0
  134. package/lib/components/SliderFilter/SliderFilter.js +46 -0
  135. package/lib/components/SliderFilter/SliderFilter.js.map +1 -0
  136. package/lib/components/SliderFilter/index.d.ts +1 -0
  137. package/lib/components/SliderFilter/index.js +2 -0
  138. package/lib/components/SliderFilter/index.js.map +1 -0
  139. package/lib/components/Tooltip/Tooltip.d.ts +8 -0
  140. package/lib/components/Tooltip/Tooltip.js +9 -0
  141. package/lib/components/Tooltip/Tooltip.js.map +1 -0
  142. package/lib/components/common.d.ts +34 -0
  143. package/lib/components/common.js +80 -0
  144. package/lib/components/common.js.map +1 -0
  145. package/lib/components/productGrid/ProductGrid.d.ts +7 -0
  146. package/lib/components/productGrid/ProductGrid.js +11 -0
  147. package/lib/components/productGrid/ProductGrid.js.map +1 -0
  148. package/lib/components/productGrid/index.d.ts +1 -0
  149. package/lib/components/productGrid/index.js +2 -0
  150. package/lib/components/productGrid/index.js.map +1 -0
  151. package/lib/icons/BackOfficeFiltersIcon.d.ts +2 -0
  152. package/lib/icons/BackOfficeFiltersIcon.js +7 -0
  153. package/lib/icons/BackOfficeFiltersIcon.js.map +1 -0
  154. package/lib/icons/BannersIcon.d.ts +2 -0
  155. package/lib/icons/BannersIcon.js +7 -0
  156. package/lib/icons/BannersIcon.js.map +1 -0
  157. package/lib/icons/HelpIcon.d.ts +7 -0
  158. package/lib/icons/HelpIcon.js +5 -0
  159. package/lib/icons/HelpIcon.js.map +1 -0
  160. package/lib/icons/InStoreFiltersIcon.d.ts +2 -0
  161. package/lib/icons/InStoreFiltersIcon.js +7 -0
  162. package/lib/icons/InStoreFiltersIcon.js.map +1 -0
  163. package/lib/icons/PromoteIcon.d.ts +2 -0
  164. package/lib/icons/PromoteIcon.js +7 -0
  165. package/lib/icons/PromoteIcon.js.map +1 -0
  166. package/lib/icons/RemoveIcon.d.ts +2 -0
  167. package/lib/icons/RemoveIcon.js +7 -0
  168. package/lib/icons/RemoveIcon.js.map +1 -0
  169. package/lib/icons/RestoreIcon.d.ts +2 -0
  170. package/lib/icons/RestoreIcon.js +7 -0
  171. package/lib/icons/RestoreIcon.js.map +1 -0
  172. package/lib/icons/index.d.ts +7 -0
  173. package/lib/icons/index.js +8 -0
  174. package/lib/icons/index.js.map +1 -0
  175. package/lib/main.d.ts +15 -0
  176. package/lib/main.js +2 -0
  177. package/lib/main.js.map +1 -0
  178. package/lib/services/API.d.ts +21 -0
  179. package/lib/services/API.js +50 -0
  180. package/lib/services/API.js.map +1 -0
  181. package/lib/services/landingPage.d.ts +28 -0
  182. package/lib/services/landingPage.js +153 -0
  183. package/lib/services/landingPage.js.map +1 -0
  184. package/lib/utils/customTagsFilters.d.ts +4 -0
  185. package/lib/utils/customTagsFilters.js +10 -0
  186. package/lib/utils/customTagsFilters.js.map +1 -0
  187. package/lib/utils/products.d.ts +30 -0
  188. package/lib/utils/products.js +39 -0
  189. package/lib/utils/products.js.map +1 -0
  190. package/lib/utils/shopifyMarkets.d.ts +3 -0
  191. package/lib/utils/shopifyMarkets.js +7 -0
  192. package/lib/utils/shopifyMarkets.js.map +1 -0
  193. package/lib/utils/useDragToSelect.d.ts +13 -0
  194. package/lib/utils/useDragToSelect.js +177 -0
  195. package/lib/utils/useDragToSelect.js.map +1 -0
  196. package/package.json +10 -12
@@ -0,0 +1,239 @@
1
+ import { FromToTypes } from "../FromToFilter/utils";
2
+ import { CustomTagsFilters } from "../../utils/customTagsFilters";
3
+ export const getBackOfficeFilters = () => {
4
+ var _a, _b, _c, _d, _e;
5
+ let id = Date.now();
6
+ let customTagsFilters = CustomTagsFilters.getCustomTagsFilters();
7
+ let filters = {
8
+ "filter": {
9
+ id: "merch_tags", name: "merch_tags", displayName: "Filter by Tags",
10
+ values: [{ name: "new arrivals", displayName: "New Arrivals", count: 0 },
11
+ { name: "sale", displayName: "Sale", count: 0 },
12
+ { name: "best seller", displayName: "Best Seller", count: 0 }, ...(_a = customTagsFilters === null || customTagsFilters === void 0 ? void 0 : customTagsFilters.map) === null || _a === void 0 ? void 0 : _a.call(customTagsFilters, tag => ({
13
+ name: tag,
14
+ displayName: tag,
15
+ count: 0
16
+ }))]
17
+ },
18
+ "lastReceivedDate": {
19
+ id: "merch_lrt", name: "merch_lrt", displayName: "Last Received Date",
20
+ values: [{ name: "All", displayName: "All", count: 0 },
21
+ { name: "Today", displayName: "Today", count: 0 },
22
+ { name: "Custom", displayName: "Custom", count: 0 },]
23
+ },
24
+ "stockAvailability": {
25
+ id: "merch_inventory", name: "Stock Availability", displayName: "Stock Availability",
26
+ from: {
27
+ key: "merch_inventory_from",
28
+ type: FromToTypes.number,
29
+ name: "From",
30
+ value: "",
31
+ fromPlaceHolder: "0"
32
+ },
33
+ to: {
34
+ key: "merch_inventory_to",
35
+ type: FromToTypes.number,
36
+ name: "To",
37
+ value: "",
38
+ toPlaceHolder: "no limit"
39
+ }
40
+ },
41
+ "variantsInStock": {
42
+ id: "merch_percent_variants_in_stock", name: "Variants In Stock", displayName: "Variants In Stock (Percent)",
43
+ from: {
44
+ key: "merch_percent_variants_in_stock_from",
45
+ type: FromToTypes.number,
46
+ name: "From",
47
+ value: "",
48
+ fromPlaceHolder: "0"
49
+ },
50
+ to: {
51
+ key: "merch_percent_variants_in_stock_to",
52
+ type: FromToTypes.number,
53
+ name: "To",
54
+ value: "",
55
+ toPlaceHolder: "100"
56
+ }
57
+ },
58
+ "sales": {
59
+ id: "merch_sales", name: "Sales(Weekly)", displayName: "Sales(Weekly)",
60
+ from: {
61
+ key: "merch_sales_from",
62
+ type: FromToTypes.number,
63
+ name: "From",
64
+ value: "",
65
+ fromPlaceHolder: "0"
66
+ },
67
+ to: {
68
+ key: "merch_sales_to",
69
+ type: FromToTypes.number,
70
+ name: "To",
71
+ value: "",
72
+ toPlaceHolder: "no limit"
73
+ }
74
+ },
75
+ "weeksOfStock": {
76
+ id: "merch_wos", name: "Weeks Of Stock", displayName: "Weeks Of Stock",
77
+ from: {
78
+ key: "merch_wos_from",
79
+ type: FromToTypes.number,
80
+ name: "From",
81
+ value: "",
82
+ fromPlaceHolder: "0"
83
+ },
84
+ to: {
85
+ key: "merch_wos_to",
86
+ type: FromToTypes.number,
87
+ name: "To",
88
+ value: "",
89
+ toPlaceHolder: "no limit"
90
+ }
91
+ },
92
+ "margin": {
93
+ id: "merch_margin", name: "Margin", displayName: "Margin",
94
+ from: {
95
+ key: "merch_margin_from",
96
+ type: FromToTypes.number,
97
+ name: "From",
98
+ value: "",
99
+ fromPlaceHolder: "0"
100
+ },
101
+ to: {
102
+ key: "merch_margin_to",
103
+ type: FromToTypes.number,
104
+ name: "To",
105
+ value: "",
106
+ toPlaceHolder: "no limit"
107
+ }
108
+ },
109
+ "marginPercent": {
110
+ id: "merch_margin_percent", name: "Margin Percent", displayName: "Margin Percent",
111
+ from: {
112
+ key: "marginPercent_from",
113
+ type: FromToTypes.number,
114
+ name: "From",
115
+ value: "",
116
+ fromPlaceHolder: "0"
117
+ },
118
+ to: {
119
+ key: "marginPercent_to",
120
+ type: FromToTypes.number,
121
+ name: "To",
122
+ value: "",
123
+ toPlaceHolder: "100"
124
+ }
125
+ },
126
+ "merchCreationDate": {
127
+ id: "merch_creation_date", name: "Creation Date", displayName: "Released Date",
128
+ from: {
129
+ key: "merch_creation_date_from",
130
+ type: FromToTypes.date,
131
+ name: "From",
132
+ value: "",
133
+ emptyValue: "Inf",
134
+ fromPlaceHolder: "MM/DD/YYYY"
135
+ },
136
+ to: {
137
+ key: "merch_creation_date_to",
138
+ type: FromToTypes.date,
139
+ name: "To",
140
+ value: "",
141
+ emptyValue: "Inf",
142
+ toPlaceHolder: "MM/DD/YYYY"
143
+ }
144
+ }
145
+ };
146
+ for (const [key, values] of Object.entries(filters)) {
147
+ // if(((filters as any)[key] as any)?.name) {
148
+ // ((filters as any)[key] as any).name += id.toString();
149
+ // }
150
+ if ((_c = (_b = filters[key]) === null || _b === void 0 ? void 0 : _b.from) === null || _c === void 0 ? void 0 : _c.key) {
151
+ filters[key].from.key += id.toString();
152
+ }
153
+ if ((_e = (_d = filters[key]) === null || _d === void 0 ? void 0 : _d.to) === null || _e === void 0 ? void 0 : _e.key) {
154
+ filters[key].to.key += id.toString();
155
+ }
156
+ }
157
+ return filters;
158
+ };
159
+ export const getCustomPriceFilter = () => {
160
+ var _a, _b, _c, _d, _e;
161
+ let id = Date.now();
162
+ let filters = {
163
+ "price": {
164
+ id: "price", name: "Price", displayName: "",
165
+ from: {
166
+ key: "price_from",
167
+ type: FromToTypes.number,
168
+ name: "From",
169
+ value: ""
170
+ },
171
+ to: {
172
+ key: "price_to",
173
+ type: FromToTypes.number,
174
+ name: "To",
175
+ value: ""
176
+ }
177
+ }
178
+ };
179
+ for (const [key, values] of Object.entries(filters)) {
180
+ if ((_a = filters[key]) === null || _a === void 0 ? void 0 : _a.name) {
181
+ filters[key].name += id.toString();
182
+ }
183
+ if ((_c = (_b = filters[key]) === null || _b === void 0 ? void 0 : _b.from) === null || _c === void 0 ? void 0 : _c.key) {
184
+ filters[key].from.key += id.toString();
185
+ }
186
+ if ((_e = (_d = filters[key]) === null || _d === void 0 ? void 0 : _d.to) === null || _e === void 0 ? void 0 : _e.key) {
187
+ filters[key].to.key += id.toString();
188
+ }
189
+ }
190
+ return filters === null || filters === void 0 ? void 0 : filters["price"];
191
+ };
192
+ export const clearFilters = (filters) => {
193
+ var _a, _b, _c, _d;
194
+ for (const [key, values] of Object.entries(filters)) {
195
+ if ((_b = (_a = filters[key]) === null || _a === void 0 ? void 0 : _a.from) === null || _b === void 0 ? void 0 : _b.value) {
196
+ filters[key].from.value = "";
197
+ }
198
+ if ((_d = (_c = filters[key]) === null || _c === void 0 ? void 0 : _c.to) === null || _d === void 0 ? void 0 : _d.value) {
199
+ filters[key].to.value = "";
200
+ }
201
+ }
202
+ };
203
+ export const getLastReceivedTimeRange = (selectedType, fromDate, toDate) => {
204
+ const today = new Date();
205
+ const todayTimestamp = new Date(today.getFullYear(), today.getMonth(), today.getDate()).getTime() / 1000;
206
+ const tomorrowTimestamp = new Date(today.getFullYear(), today.getMonth(), today.getDate() + 1).getTime() / 1000;
207
+ if (selectedType.toLowerCase() === 'all') {
208
+ return undefined;
209
+ }
210
+ else if (selectedType.toLowerCase() === 'today') {
211
+ return `${todayTimestamp}-${tomorrowTimestamp}`;
212
+ }
213
+ if (fromDate || toDate) {
214
+ let fromDateTimestamp = 0;
215
+ let toDateTimestamp = tomorrowTimestamp;
216
+ if (fromDate) {
217
+ const fromDateArr = fromDate.split('-');
218
+ fromDateTimestamp = new Date(Number.parseInt(fromDateArr[2]), Number.parseInt(fromDateArr[1]) - 1, Number.parseInt(fromDateArr[0])).getTime() / 1000;
219
+ }
220
+ if (toDate) {
221
+ const toDateArr = toDate.split('-');
222
+ toDateTimestamp = new Date(Number.parseInt(toDateArr[2]), Number.parseInt(toDateArr[1]) - 1, Number.parseInt(toDateArr[0])).getTime() / 1000;
223
+ }
224
+ return `${fromDateTimestamp}-${toDateTimestamp}`;
225
+ }
226
+ return undefined;
227
+ };
228
+ export const getBackOfficeFilterTooltipText = {
229
+ "filter": "Shows products with selected tag filter",
230
+ "lastReceivedDate": "Shows products restocked within selected dates",
231
+ "stockAvailability": "Filters products by available inventory within specified range",
232
+ "variantsInStock": "Show products with variants in specified stock range",
233
+ "sales": "Filters products by recent weekly sales volume",
234
+ "weeksOfStock": "Est. weeks inventory remains based on sales volume",
235
+ "margin": "Filters products by specified profit range",
236
+ "marginPercent": "Filters products by specified profit range in percentage",
237
+ "merchCreationDate": "Creation date or publish date (according to the definition in /settings/options)"
238
+ };
239
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +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, FromToFilter, 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"]}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ interface Props {
3
+ isChecked: boolean;
4
+ ariaLabel?: string;
5
+ children: React.ReactNode;
6
+ onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
7
+ id?: string;
8
+ }
9
+ export declare function Checkbox({ isChecked, ariaLabel, children, onChange, id }: Props): import("react/jsx-runtime").JSX.Element;
10
+ export {};
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import classes from './styles.module.css';
3
+ import classNames from "classnames";
4
+ export function Checkbox({ isChecked, ariaLabel, children, onChange, id }) {
5
+ return (_jsx(_Fragment, { children: _jsxs("div", Object.assign({ className: classNames(classes.checkbox, classes.fsCheckbox, isChecked ? classes.fsSelectedCheckboxTrue : classes.fsSelectedCheckboxFalse) }, { children: [_jsx("input", { type: "checkbox", checked: isChecked, onChange: onChange, "aria-label": ariaLabel, id: id }), _jsx("span", { className: classNames(classes.checkmark, classes.fsSerpCheckmark) }), _jsxs("span", Object.assign({ className: classNames(classes.checkboxLabel, classes.fsCheckboxLabel) }, { children: [children, _jsx("slot", {})] }))] })) }));
6
+ }
7
+ //# sourceMappingURL=Checkbox.js.map
@@ -0,0 +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}"]}
@@ -0,0 +1,6 @@
1
+ import { Facet } from "@fast-simon/utilities";
2
+ interface Props {
3
+ facet: Facet;
4
+ }
5
+ export declare function CheckboxFilter({ facet }: Props): import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Checkbox } from "./Checkbox/Checkbox";
3
+ export function CheckboxFilter({ facet }) {
4
+ const handleChange = (e) => {
5
+ console.log();
6
+ };
7
+ return (_jsx(Checkbox, Object.assign({ isChecked: true, ariaLabel: facet.name }, { children: _jsx("span", Object.assign({ className: "filters-option-text fs-serp-filter-text" }, { children: facet.name })) })));
8
+ }
9
+ //# sourceMappingURL=CheckboxFilter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckboxFilter.js","sourceRoot":"","sources":["../../../src/components/CheckboxFilter/CheckboxFilter.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAC,QAAQ,EAAC,MAAM,qBAAqB,CAAC;AAM7C,MAAM,UAAU,cAAc,CAAC,EAAC,KAAK,EAAQ;IACzC,MAAM,YAAY,GAAG,CAAC,CAAM,EAAE,EAAE;QAC5B,OAAO,CAAC,GAAG,EAAE,CAAC;IAClB,CAAC,CAAA;IACD,OAAO,CACH,KAAC,QAAQ,kBAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,gBAC5C,6BAAM,SAAS,EAAC,yCAAyC,gBAAE,KAAK,CAAC,IAAI,IAAQ,IACtE,CAClB,CAAA;AAED,CAAC","sourcesContent":["import React from 'react';\r\nimport {Facet} from \"@fast-simon/utilities\";\r\nimport classes from './styles.module.css';\r\nimport {Checkbox} from \"./Checkbox/Checkbox\";\r\n\r\ninterface Props {\r\n facet: Facet;\r\n}\r\n\r\nexport function CheckboxFilter({facet}: Props) {\r\n const handleChange = (e: any) => {\r\n console.log();\r\n }\r\n return (\r\n <Checkbox isChecked={true} ariaLabel={facet.name}>\r\n <span className=\"filters-option-text fs-serp-filter-text\">{facet.name}</span>\r\n </Checkbox>\r\n)\r\n\r\n}"]}
@@ -0,0 +1,20 @@
1
+ import React, { ReactNode } from "react";
2
+ import { EditorProduct } from "../../@types/editorProduct";
3
+ export interface DndContextWrapperProps {
4
+ children: ReactNode;
5
+ onDragStart: ({ active }: {
6
+ active: any;
7
+ }) => void;
8
+ onDragEnd: ({ over, active }: {
9
+ over: any;
10
+ active: any;
11
+ }) => void;
12
+ activeId: string | null;
13
+ findActiveProduct: (activeId: string) => EditorProduct | undefined;
14
+ selectedProductIds: Record<string, number>;
15
+ ProductCardComponent: React.ComponentType<any>;
16
+ SelectCardComponent: React.ComponentType<any>;
17
+ disableDragging?: boolean;
18
+ }
19
+ declare const DndContextWrapper: ({ children, onDragStart, onDragEnd, activeId, selectedProductIds, findActiveProduct, ProductCardComponent, SelectCardComponent, disableDragging }: DndContextWrapperProps) => import("react/jsx-runtime").JSX.Element;
20
+ export default DndContextWrapper;
@@ -0,0 +1,33 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { closestCorners, defaultDropAnimationSideEffects, DndContext, DragOverlay, MouseSensor, useSensor, useSensors, } from "@dnd-kit/core";
3
+ import { isEditorProduct } from "../../@types/editorProduct";
4
+ const DndContextWrapper = ({ children, onDragStart, onDragEnd, activeId, selectedProductIds, findActiveProduct, ProductCardComponent, SelectCardComponent, disableDragging = false }) => {
5
+ const sensors = useSensors(useSensor(MouseSensor, {
6
+ activationConstraint: {
7
+ distance: 10,
8
+ },
9
+ }));
10
+ // console.log(disableDragging)
11
+ // console.log({disableDragging: disableDragging, MouseSensor: MouseSensor, KeyboardSensor: KeyboardSensor})
12
+ return (_jsx(_Fragment, { children: _jsxs(DndContext, Object.assign({ sensors: sensors, collisionDetection: closestCorners, onDragStart: onDragStart, onDragEnd: onDragEnd }, { children: [children, _jsx(DragOverlay, Object.assign({ style: {
13
+ boxShadow: "0 25px 50px -12px rgb(0 0 0 / 0.25)",
14
+ zIndex: 9999999,
15
+ }, dropAnimation: {
16
+ easing: "cubic-bezier(0.22, 1, 0.36, 1)",
17
+ keyframes: (parameters) => [{}],
18
+ sideEffects: defaultDropAnimationSideEffects({
19
+ styles: {
20
+ active: {
21
+ opacity: "0.5",
22
+ },
23
+ },
24
+ }),
25
+ } }, { children: activeId &&
26
+ (Object.keys(selectedProductIds).length <= 1 &&
27
+ isEditorProduct(findActiveProduct(activeId)) ? (_jsx(ProductCardComponent, { isSelected: false, onClick: () => { }, product: findActiveProduct(activeId) })) : (_jsx(SelectCardComponent, { numSelected: (Object.keys(selectedProductIds).length) +
28
+ (activeId in selectedProductIds
29
+ ? 0
30
+ : 1) }))) }))] })) }));
31
+ };
32
+ export default DndContextWrapper;
33
+ //# sourceMappingURL=DndContextWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DndContextWrapper.js","sourceRoot":"","sources":["../../../src/components/DragAndDrop/DndContextWrapper.tsx"],"names":[],"mappings":";AACA,OAAO,EACL,cAAc,EACd,+BAA+B,EAC/B,UAAU,EACV,WAAW,EACX,WAAW,EACX,SAAS,EACT,UAAU,GACX,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAc7D,MAAM,iBAAiB,GAAG,CAAC,EACI,QAAQ,EACR,WAAW,EACX,SAAS,EACT,QAAQ,EACR,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,GAAG,KAAK,EAC5B,EAAE,EAAE;IAE1B,MAAM,OAAO,GAAG,UAAU,CACxB,SAAS,CAAC,WAAW,EAAE;QACrB,oBAAoB,EAAE;YACpB,QAAQ,EAAE,EAAE;SACb;KACF,CAAC,CACH,CAAC;IAEJ,+BAA+B;IAC/B,4GAA4G;IAE5G,OAAO,CACH,4BAKc,MAAC,UAAU,kBACP,OAAO,EAAE,OAAO,EAChB,kBAAkB,EAAE,cAAc,EAClC,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,iBAEnB,QAAQ,EACT,KAAC,WAAW,kBACV,KAAK,EAAE;wBACL,SAAS,EAAE,qCAAqC;wBAChD,MAAM,EAAE,OAAO;qBAChB,EACD,aAAa,EAAE;wBACb,MAAM,EAAE,gCAAgC;wBACxC,SAAS,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;wBAC/B,WAAW,EAAE,+BAA+B,CAAC;4BAC3C,MAAM,EAAE;gCACN,MAAM,EAAE;oCACN,OAAO,EAAE,KAAK;iCACf;6BACF;yBACF,CAAC;qBACH,gBAEA,QAAQ;wBACP,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,IAAI,CAAC;4BAC5C,eAAe,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAC3C,KAAC,oBAAoB,IACjB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,EACjB,OAAO,EAAE,iBAAiB,CAAC,QAAQ,CAAmB,GACtD,CACP,CAAC,CAAC,CAAC,CACC,KAAC,mBAAmB,IACjB,WAAW,EACT,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC;gCACxC,CAAC,QAAQ,IAAI,kBAAkB;oCAC7B,CAAC,CAAC,CAAC;oCACH,CAAC,CAAC,CAAC,CAAC,GAEZ,CACH,CAAC,IACQ,KACH,GAG1B,CACN,CAAC;AAEJ,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC","sourcesContent":["import React, { ReactNode, useMemo, useState } from \"react\";\r\nimport {\r\n closestCorners,\r\n defaultDropAnimationSideEffects,\r\n DndContext,\r\n DragOverlay,\r\n MouseSensor,\r\n useSensor,\r\n useSensors,\r\n} from \"@dnd-kit/core\";\r\nimport { EditorProduct } from \"../../@types/editorProduct\";\r\nimport { isEditorProduct } from \"../../@types/editorProduct\";\r\n\r\nexport interface DndContextWrapperProps {\r\n children: ReactNode;\r\n onDragStart: ({active}: {active: any}) => void;\r\n onDragEnd: ({over, active}: {over: any, active: any}) => void;\r\n activeId: string | null;\r\n findActiveProduct: (activeId: string) => EditorProduct | undefined;\r\n selectedProductIds: Record<string, number>;\r\n ProductCardComponent: React.ComponentType<any>;\r\n SelectCardComponent: React.ComponentType<any>;\r\n disableDragging?: boolean;\r\n}\r\n\r\nconst DndContextWrapper = ({\r\n children,\r\n onDragStart,\r\n onDragEnd,\r\n activeId,\r\n selectedProductIds,\r\n findActiveProduct,\r\n ProductCardComponent,\r\n SelectCardComponent,\r\n disableDragging = false\r\n} : DndContextWrapperProps) => {\r\n\r\n const sensors = useSensors(\r\n useSensor(MouseSensor, {\r\n activationConstraint: {\r\n distance: 10,\r\n },\r\n }),\r\n );\r\n\r\n // console.log(disableDragging)\r\n // console.log({disableDragging: disableDragging, MouseSensor: MouseSensor, KeyboardSensor: KeyboardSensor})\r\n\r\n return (\r\n <>\r\n {/*{*/}\r\n {/* disableDragging ? ( <div className={classes.disabledChildren} >{children}</div> ) :*/}\r\n\r\n {/* (*/}\r\n <DndContext\r\n sensors={sensors}\r\n collisionDetection={closestCorners}\r\n onDragStart={onDragStart}\r\n onDragEnd={onDragEnd}\r\n >\r\n {children}\r\n <DragOverlay\r\n style={{\r\n boxShadow: \"0 25px 50px -12px rgb(0 0 0 / 0.25)\",\r\n zIndex: 9999999,\r\n }}\r\n dropAnimation={{\r\n easing: \"cubic-bezier(0.22, 1, 0.36, 1)\",\r\n keyframes: (parameters) => [{}],\r\n sideEffects: defaultDropAnimationSideEffects({\r\n styles: {\r\n active: {\r\n opacity: \"0.5\",\r\n },\r\n },\r\n }),\r\n }}\r\n >\r\n {activeId &&\r\n (Object.keys(selectedProductIds).length <= 1 &&\r\n isEditorProduct(findActiveProduct(activeId)) ? (\r\n <ProductCardComponent\r\n isSelected={false}\r\n onClick={() => {}}\r\n product={findActiveProduct(activeId)! as EditorProduct}\r\n />\r\n ) : (\r\n <SelectCardComponent\r\n numSelected={\r\n (Object.keys(selectedProductIds).length) +\r\n (activeId in selectedProductIds\r\n ? 0\r\n : 1)\r\n }\r\n />\r\n ))}\r\n </DragOverlay>\r\n </DndContext>\r\n {/* )*/}\r\n {/*}*/}\r\n </>\r\n );\r\n\r\n};\r\n\r\nexport default DndContextWrapper;\r\n"]}
@@ -0,0 +1,7 @@
1
+ import { ReactNode } from "react";
2
+ interface DroppableProps {
3
+ id: string;
4
+ children: ReactNode;
5
+ }
6
+ declare const Droppable: ({ id, children }: DroppableProps) => import("react/jsx-runtime").JSX.Element;
7
+ export default Droppable;
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useDroppable } from "@dnd-kit/core";
3
+ const Droppable = ({ id, children }) => {
4
+ const { setNodeRef } = useDroppable({
5
+ id: id,
6
+ });
7
+ return (_jsx("div", Object.assign({ ref: setNodeRef, style: { width: '100%', height: '100%', position: 'relative' } }, { children: children })));
8
+ };
9
+ export default Droppable;
10
+ //# sourceMappingURL=Droppable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Droppable.js","sourceRoot":"","sources":["../../../src/components/DragAndDrop/Droppable.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAQ3C,MAAM,SAAS,GAAG,CAAC,EAAC,EAAE,EAAE,QAAQ,EAAiB,EAAE,EAAE;IACjD,MAAM,EAAC,UAAU,EAAC,GAAG,YAAY,CAAC;QAC9B,EAAE,EAAE,EAAE;KACT,CAAC,CAAC;IAEH,OAAO,CACH,4BAAK,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,EAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAC,gBAC7E,QAAQ,IACP,CACT,CAAC;AACN,CAAC,CAAA;AAED,eAAe,SAAS,CAAA","sourcesContent":["import {useDroppable} from \"@dnd-kit/core\";\r\nimport { ReactNode } from \"react\";\r\n\r\ninterface DroppableProps {\r\n id: string;\r\n children: ReactNode;\r\n}\r\n\r\nconst Droppable = ({id, children}: DroppableProps) => {\r\n const {setNodeRef} = useDroppable({\r\n id: id,\r\n });\r\n\r\n return (\r\n <div ref={setNodeRef} style={{width: '100%', height: '100%', position: 'relative'}}>\r\n {children}\r\n </div>\r\n );\r\n}\r\n\r\nexport default Droppable"]}
@@ -0,0 +1,13 @@
1
+ import { ReactNode } from "react";
2
+ import { Narrow } from "@fast-simon/utilities";
3
+ interface Props {
4
+ id: string;
5
+ children: ReactNode;
6
+ narrow: Narrow;
7
+ searchWithinResultsQuery?: string;
8
+ style?: Record<string, any>;
9
+ cssClass?: string | undefined;
10
+ index?: string;
11
+ }
12
+ export declare function SortableItem({ id, children, searchWithinResultsQuery, style, narrow, cssClass, index, }: Props): import("react/jsx-runtime").JSX.Element;
13
+ export {};
@@ -0,0 +1,39 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useSortable } from "@dnd-kit/sortable";
3
+ import { CSS } from "@dnd-kit/utilities";
4
+ import classes from "./styles.module.css";
5
+ import clsx from "clsx";
6
+ export function SortableItem({ id, children, searchWithinResultsQuery, style, narrow, cssClass, index, }) {
7
+ var _a;
8
+ const { attributes, listeners, setNodeRef, transform, transition, isDragging, isOver, isSorting, activeIndex, overIndex, active, over, } = useSortable({
9
+ id,
10
+ animateLayoutChanges: () => true,
11
+ disabled: !!searchWithinResultsQuery || !!Object.keys(narrow).length,
12
+ });
13
+ const activeId = active === null || active === void 0 ? void 0 : active.id;
14
+ const overId = over === null || over === void 0 ? void 0 : over.id;
15
+ const noOverlay = activeId === overId ||
16
+ (overId === null || overId === void 0 ? void 0 : overId.includes("_")) ||
17
+ overIndex === -1 ||
18
+ activeId.startsWith("related");
19
+ let isAfter = true;
20
+ if (overIndex < activeIndex || ((_a = active === null || active === void 0 ? void 0 : active.id) === null || _a === void 0 ? void 0 : _a.includes("_"))) {
21
+ isAfter = false;
22
+ }
23
+ let opacity = isDragging ? 0.5 : 1;
24
+ let zIndex = isDragging ? 10 : 0;
25
+ const combinedStyle = {
26
+ transition: transition,
27
+ transform: isSorting ? undefined : CSS.Translate.toString(transform),
28
+ zIndex: zIndex,
29
+ opacity: opacity,
30
+ width: "100%",
31
+ height: "100%",
32
+ outlineOffset: "2px",
33
+ borderRadius: "8px",
34
+ border: "1px solid #e0e0e0",
35
+ display: "flex",
36
+ };
37
+ return (_jsx("div", Object.assign({ "product-id": id, "product-index": index, className: cssClass, style: Object.assign({ display: "flex", position: "relative", height: "100%", width: "100%" }, style) }, { children: _jsx("div", Object.assign({ style: combinedStyle, className: clsx(isOver && !isDragging && !noOverlay && classes.over, isAfter ? classes.after : classes.before), ref: setNodeRef }, attributes, listeners, { children: children })) })));
38
+ }
39
+ //# sourceMappingURL=SortableItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SortableItem.js","sourceRoot":"","sources":["../../../src/components/DragAndDrop/SortableItem.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,IAAI,MAAM,MAAM,CAAC;AAaxB,MAAM,UAAU,YAAY,CAAC,EACzB,EAAE,EACF,QAAQ,EACR,wBAAwB,EACxB,KAAK,EACL,MAAM,EACN,QAAQ,EACR,KAAK,GACD;;IACJ,MAAM,EACF,UAAU,EACV,SAAS,EACT,UAAU,EACV,SAAS,EACT,UAAU,EACV,UAAU,EACV,MAAM,EACN,SAAS,EACT,WAAW,EACX,SAAS,EACT,MAAM,EACN,IAAI,GACP,GAAG,WAAW,CAAC;QACZ,EAAE;QACF,oBAAoB,EAAE,GAAG,EAAE,CAAC,IAAI;QAChC,QAAQ,EAAE,CAAC,CAAC,wBAAwB,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM;KACvE,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAY,CAAC;IACtC,MAAM,MAAM,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,EAAwB,CAAC;IAE9C,MAAM,SAAS,GACX,QAAQ,KAAK,MAAM;SACnB,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,CAAC,GAAG,CAAC,CAAA;QACrB,SAAS,KAAK,CAAC,CAAC;QAChB,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAEnC,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,IAAI,SAAS,GAAG,WAAW,KAAI,MAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAa,0CAAE,QAAQ,CAAC,GAAG,CAAC,CAAA,EAAE;QAClE,OAAO,GAAG,KAAK,CAAC;KACnB;IAED,IAAI,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjC,MAAM,aAAa,GAAG;QAClB,UAAU,EAAE,UAAU;QACtB,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;QACpE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,MAAM;QACd,aAAa,EAAE,KAAK;QACpB,YAAY,EAAE,KAAK;QACnB,MAAM,EAAE,mBAAmB;QAC3B,OAAO,EAAE,MAAM;KAClB,CAAC;IAEF,OAAO,CACH,0CACgB,EAAE,mBACC,KAAK,EACpB,SAAS,EAAE,QAAQ,EACnB,KAAK,kBACD,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,UAAU,EACpB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,IACV,KAAK,iBAGZ,4BACI,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,IAAI,CACX,MAAM,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,EACnD,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAC3C,EACD,GAAG,EAAE,UAAU,IACX,UAAU,EACV,SAAS,cAEZ,QAAQ,IACP,IACJ,CACT,CAAC;AACN,CAAC","sourcesContent":["import { useSortable } from \"@dnd-kit/sortable\";\nimport { ReactNode } from \"react\";\nimport React from \"react\";\nimport { CSS } from \"@dnd-kit/utilities\";\nimport classes from \"./styles.module.css\";\nimport clsx from \"clsx\";\nimport { Narrow } from \"@fast-simon/utilities\";\n\ninterface Props {\n id: string;\n children: ReactNode;\n narrow: Narrow;\n searchWithinResultsQuery?: string;\n style?: Record<string, any>;\n cssClass?: string | undefined;\n index?: string;\n}\n\nexport function SortableItem({\n id,\n children,\n searchWithinResultsQuery,\n style,\n narrow,\n cssClass,\n index,\n}: Props) {\n const {\n attributes,\n listeners,\n setNodeRef,\n transform,\n transition,\n isDragging,\n isOver,\n isSorting,\n activeIndex,\n overIndex,\n active,\n over,\n } = useSortable({\n id,\n animateLayoutChanges: () => true,\n disabled: !!searchWithinResultsQuery || !!Object.keys(narrow).length,\n });\n\n const activeId = active?.id as string;\n const overId = over?.id as string | undefined;\n\n const noOverlay =\n activeId === overId ||\n overId?.includes(\"_\") ||\n overIndex === -1 ||\n activeId.startsWith(\"related\");\n\n let isAfter = true;\n if (overIndex < activeIndex || (active?.id as string)?.includes(\"_\")) {\n isAfter = false;\n }\n\n let opacity = isDragging ? 0.5 : 1;\n let zIndex = isDragging ? 10 : 0;\n\n const combinedStyle = {\n transition: transition,\n transform: isSorting ? undefined : CSS.Translate.toString(transform),\n zIndex: zIndex,\n opacity: opacity,\n width: \"100%\",\n height: \"100%\",\n outlineOffset: \"2px\",\n borderRadius: \"8px\",\n border: \"1px solid #e0e0e0\",\n display: \"flex\",\n };\n\n return (\n <div\n product-id={id}\n product-index={index}\n className={cssClass}\n style={{\n display: \"flex\",\n position: \"relative\",\n height: \"100%\",\n width: \"100%\",\n ...style,\n }}\n >\n <div\n style={combinedStyle}\n className={clsx(\n isOver && !isDragging && !noOverlay && classes.over,\n isAfter ? classes.after : classes.before\n )}\n ref={setNodeRef}\n {...attributes}\n {...listeners}\n >\n {children}\n </div>\n </div>\n );\n}\n"]}
@@ -0,0 +1,13 @@
1
+ import { Facet, FacetsTypes } from "@fast-simon/utilities";
2
+ interface Props {
3
+ facet: Facet;
4
+ onChange: (facetName: string, narrowName: string, updateSingleNarrow?: boolean, fromDate?: string, toDate?: string) => void;
5
+ type?: FacetsTypes;
6
+ narrow?: Set<string>;
7
+ tooltipText?: string;
8
+ disableSelect?: boolean;
9
+ onNarrowChange: (narrow: any) => void;
10
+ onPageChange: (page: number) => void;
11
+ }
12
+ export declare function FacetItem({ facet, onChange, type, narrow, tooltipText, disableSelect, onNarrowChange, onPageChange }: Props): import("react/jsx-runtime").JSX.Element;
13
+ export {};
@@ -0,0 +1,40 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { SpecialFacetID, FacetsTypes } from "@fast-simon/utilities";
4
+ import classes from './styles.module.css';
5
+ import { SingleFilter } from "../SingleFilter/SingleFilter";
6
+ import { RadioFilter } from "../RadioFilter/RadioFilter";
7
+ import { Checkbox } from "../CheckboxFilter/Checkbox/Checkbox";
8
+ import classNames from "classnames";
9
+ import { LastReceivedDate } from "../LastReceivedDateFilter/LastReceivedDate";
10
+ import Tooltip from "../Tooltip/Tooltip";
11
+ export function FacetItem({ facet, onChange, type, narrow, tooltipText, disableSelect, onNarrowChange, onPageChange }) {
12
+ let timer;
13
+ const [disableFilters, setDisableFilters] = useState(false);
14
+ const onFacetClicked = (name) => {
15
+ setDisableFilters(true);
16
+ clearTimeout(timer);
17
+ timer = setTimeout(() => {
18
+ onChange(facet.name, name);
19
+ const timerId = setTimeout(() => {
20
+ setDisableFilters(false);
21
+ }, 750);
22
+ return () => clearTimeout(timerId);
23
+ }, 750);
24
+ };
25
+ const displayName = (facet === null || facet === void 0 ? void 0 : facet.displayName) ? facet === null || facet === void 0 ? void 0 : facet.displayName : facet === null || facet === void 0 ? void 0 : facet.name;
26
+ return (_jsx(_Fragment, { children: (facet === null || facet === void 0 ? void 0 : facet.id) ?
27
+ _jsxs("div", Object.assign({ id: facet.id + '_facet_container', className: classes.fsFacetContainer, style: { opacity: disableFilters ? 0.5 : 1, pointerEvents: disableFilters ? 'none' : 'auto' } }, { children: [_jsxs("div", Object.assign({ id: facet.id + '_facet_title', className: classNames(classes.fsFacetTitle, (facet === null || facet === void 0 ? void 0 : facet.id) === SpecialFacetID.OnSale ? classes.fsFlexFacetTitle : null) }, { children: [displayName, tooltipText && _jsx(Tooltip, { text: tooltipText }), (facet === null || facet === void 0 ? void 0 : facet.id) === SpecialFacetID.OnSale ?
28
+ _jsx("span", Object.assign({ className: (facet === null || facet === void 0 ? void 0 : facet.id) === SpecialFacetID.OnSale ? classes.fsFlexFacetSpan : undefined, onClick: () => (narrow === null || narrow === void 0 ? void 0 : narrow.has(facet === null || facet === void 0 ? void 0 : facet.name)) ? narrow === null || narrow === void 0 ? true : delete narrow[facet === null || facet === void 0 ? void 0 : facet.name] : onFacetClicked("True") }, { children: _jsx(Checkbox, { isChecked: !!(narrow === null || narrow === void 0 ? void 0 : narrow.has("True")), id: facet === null || facet === void 0 ? void 0 : facet.name, onChange: () => {
29
+ (narrow === null || narrow === void 0 ? void 0 : narrow.has(facet === null || facet === void 0 ? void 0 : facet.name)) ? narrow === null || narrow === void 0 ? true : delete narrow[facet === null || facet === void 0 ? void 0 : facet.name] : onFacetClicked("True");
30
+ }, ariaLabel: '' }) }), 'fs-checkbox-onsale')
31
+ : null] }), facet.id + '_facet_title'), _jsx("div", Object.assign({ className: classes.fsFacetOptions }, { children: (facet === null || facet === void 0 ? void 0 : facet.id) === SpecialFacetID.OnSale ?
32
+ null :
33
+ type === FacetsTypes.RadioSelect && (facet === null || facet === void 0 ? void 0 : facet.id) === 'merch_lrt' ?
34
+ _jsx(LastReceivedDate, { facet: facet, onChange: onChange, narrow: narrow, disableSelect: disableSelect }) :
35
+ type === FacetsTypes.RadioSelect ?
36
+ _jsx(RadioFilter, { facet: facet, onChange: onChange, narrow: narrow, disableSelect: disableSelect })
37
+ : _jsx(SingleFilter, { facet: facet, onChange: onChange, narrow: narrow, disableSelect: disableSelect, onPageChange: onPageChange, onNarrowChange: onNarrowChange }) }))] }), facet.id + '_facet_container')
38
+ : null }));
39
+ }
40
+ //# sourceMappingURL=FacetItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FacetItem.js","sourceRoot":"","sources":["../../../src/components/FacetItem/FacetItem.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {useState} from 'react';\r\nimport {Facet, SpecialFacetID, FacetsTypes} from \"@fast-simon/utilities\";\r\nimport classes from './styles.module.css';\r\nimport {SingleFilter} from \"../SingleFilter/SingleFilter\";\r\nimport {RadioFilter} from \"../RadioFilter/RadioFilter\";\r\nimport {Checkbox} from \"../CheckboxFilter/Checkbox/Checkbox\";\r\nimport classNames from \"classnames\";\r\nimport {LastReceivedDate} from \"../LastReceivedDateFilter/LastReceivedDate\";\r\nimport Tooltip from \"../Tooltip/Tooltip\";\r\ninterface Props {\r\n facet: Facet;\r\n onChange: (facetName: string, narrowName: string, updateSingleNarrow?: boolean, fromDate?: string, toDate?: string) => void;\r\n type?: FacetsTypes,\r\n narrow?: Set<string>\r\n tooltipText?: string\r\n disableSelect?: boolean\r\n onNarrowChange: (narrow: any) => void;\r\n onPageChange: (page: number) => void;\r\n}\r\n\r\nexport function FacetItem({facet, onChange, type, narrow, tooltipText, disableSelect, onNarrowChange, onPageChange}: Props) {\r\n let timer: string | number | NodeJS.Timeout | undefined;\r\n const [disableFilters, setDisableFilters] = useState<boolean>(false);\r\n\r\n const onFacetClicked = (name: string) => {\r\n setDisableFilters(true)\r\n clearTimeout(timer);\r\n\r\n timer = setTimeout(() => {\r\n onChange(facet.name, name);\r\n const timerId = setTimeout(() => {\r\n setDisableFilters(false);\r\n }, 750);\r\n return () => clearTimeout(timerId);\r\n }, 750);\r\n }\r\n\r\n const displayName = (facet as any)?.displayName ? (facet as any)?.displayName: facet?.name;\r\n\r\n return (\r\n <>\r\n {facet?.id?\r\n <div key={facet.id + '_facet_container'} id={facet.id + '_facet_container'} className={classes.fsFacetContainer} style={{ opacity: disableFilters ? 0.5 : 1, pointerEvents: disableFilters ? 'none' : 'auto' }}>\r\n <div key={facet.id + '_facet_title'} id={facet.id + '_facet_title'} className={classNames(classes.fsFacetTitle, facet?.id === SpecialFacetID.OnSale ? classes.fsFlexFacetTitle: null)}>\r\n {displayName}\r\n {tooltipText && <Tooltip text={tooltipText}/>}\r\n {facet?.id === SpecialFacetID.OnSale ?\r\n <span key={'fs-checkbox-onsale'} className={facet?.id === SpecialFacetID.OnSale ? classes.fsFlexFacetSpan: undefined}\r\n onClick={() => narrow?.has(facet?.name) ? delete (narrow as any)?.[facet?.name] : onFacetClicked(\"True\")}>\r\n <Checkbox isChecked={!!narrow?.has(\"True\")} id={facet?.name} onChange={() => {\r\n narrow?.has(facet?.name) ? delete (narrow as any)?.[facet?.name] : onFacetClicked(\"True\")\r\n }} ariaLabel={''}>\r\n\r\n </Checkbox>\r\n </span>\r\n : null}\r\n </div>\r\n <div className={classes.fsFacetOptions}>\r\n {\r\n facet?.id === SpecialFacetID.OnSale ?\r\n null :\r\n type === FacetsTypes.RadioSelect && facet?.id === 'merch_lrt'?\r\n <LastReceivedDate facet={facet} onChange={onChange} narrow={narrow} disableSelect={disableSelect}/> :\r\n type === FacetsTypes.RadioSelect?\r\n <RadioFilter facet={facet} onChange={onChange} narrow={narrow} disableSelect={disableSelect}/>\r\n : <SingleFilter facet={facet} onChange={onChange} narrow={narrow} disableSelect={disableSelect} onPageChange={onPageChange} onNarrowChange={onNarrowChange}/>\r\n }\r\n\r\n </div>\r\n </div>\r\n : null}\r\n </>\r\n )\r\n\r\n}"]}
@@ -0,0 +1,32 @@
1
+ import React from "react";
2
+ import { AppType, FullTextResults, smartCollectionsResults, SortBy } from "fast-simon-sdk";
3
+ interface Props {
4
+ storeID: number;
5
+ uuid: string;
6
+ type?: AppType;
7
+ onReady?: VoidFunction;
8
+ cartToken?: string;
9
+ defaultSort?: SortBy;
10
+ collectionID?: string;
11
+ withProductAttributes?: boolean;
12
+ promoTiles?: boolean;
13
+ getTitle?: ({}: {
14
+ categoryID?: string;
15
+ query?: string;
16
+ }) => string;
17
+ isInfiniteScroll?: boolean;
18
+ useFilters?: boolean;
19
+ noReport?: boolean;
20
+ customTitleChange?: (results?: FullTextResults | smartCollectionsResults) => void;
21
+ theme?: Partial<MainTheme>;
22
+ children?: React.ReactNode;
23
+ }
24
+ export interface MainTheme {
25
+ primaryColor: string;
26
+ lighterPrimary: string;
27
+ successGreen: string;
28
+ errorRed: string;
29
+ loadingYellow: string;
30
+ }
31
+ declare const FastSimonApi: React.FC<Props>;
32
+ export default FastSimonApi;