@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,90 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import { useEffect, useState } from 'react';
3
+ import { Checkbox } from '../CheckboxFilter/Checkbox/Checkbox';
4
+ import { getDisplayName } from "./utils";
5
+ import classes from './styles.module.css';
6
+ import classNames from "classnames";
7
+ import SliderFilter from "../SliderFilter";
8
+ import { FromToFilter } from "../FromToFilter/FromToFilter";
9
+ import { getCustomPriceFilter } from "../BackOfficeFiltersMenu/utils";
10
+ export function SingleFilter({ facet, onChange, narrow, disableSelect = false, onNarrowChange, onPageChange }) {
11
+ var _a, _b, _c, _d, _e, _f, _g;
12
+ const [expanded, setExpanded] = useState(false);
13
+ const [itemsToShow, setItemsToShow] = useState([]);
14
+ const [metaValue, setMetaValue] = useState([]);
15
+ useEffect(() => {
16
+ var _a, _b, _c;
17
+ setItemsToShow((_a = facet === null || facet === void 0 ? void 0 : facet.values) === null || _a === void 0 ? void 0 : _a.slice(0, 5));
18
+ setExpanded(false);
19
+ if ((facet === null || facet === void 0 ? void 0 : facet.meta) && !(metaValue === null || metaValue === void 0 ? void 0 : metaValue.length)) {
20
+ setMetaValue([Number((_b = facet === null || facet === void 0 ? void 0 : facet.meta) === null || _b === void 0 ? void 0 : _b.min), Number((_c = facet === null || facet === void 0 ? void 0 : facet.meta) === null || _c === void 0 ? void 0 : _c.max)]);
21
+ }
22
+ }, [facet]);
23
+ useEffect(() => {
24
+ var _a;
25
+ if (((_a = facet === null || facet === void 0 ? void 0 : facet.values) === null || _a === void 0 ? void 0 : _a.length) <= (itemsToShow === null || itemsToShow === void 0 ? void 0 : itemsToShow.length)) {
26
+ setExpanded(true);
27
+ }
28
+ }, [itemsToShow]);
29
+ const handleShowMoreClick = () => {
30
+ setItemsToShow(facet === null || facet === void 0 ? void 0 : facet.values);
31
+ setExpanded(true);
32
+ };
33
+ const handleShowLessClick = () => {
34
+ var _a;
35
+ setItemsToShow((_a = facet === null || facet === void 0 ? void 0 : facet.values) === null || _a === void 0 ? void 0 : _a.slice(0, 5));
36
+ setExpanded(true);
37
+ };
38
+ const onFacetClicked = (name) => {
39
+ // clearTimeout(timer);
40
+ // timer = setTimeout(() => {
41
+ onChange(facet.name, name);
42
+ // }, 750);
43
+ };
44
+ const onSliderFacetClicked = (value) => {
45
+ clearTimeout(timer);
46
+ timer = setTimeout(() => {
47
+ var _a, _b;
48
+ setMetaValue(value);
49
+ if ((value === null || value === void 0 ? void 0 : value[0]) !== Number((_a = facet === null || facet === void 0 ? void 0 : facet.meta) === null || _a === void 0 ? void 0 : _a.min) || (value === null || value === void 0 ? void 0 : value[1]) !== Number((_b = facet === null || facet === void 0 ? void 0 : facet.meta) === null || _b === void 0 ? void 0 : _b.max)) {
50
+ onChange("Price_from_to", value[0] + "-" + value[1], true);
51
+ }
52
+ else {
53
+ onPageChange(1);
54
+ onNarrowChange((n) => {
55
+ const narrow = Object.assign({}, n);
56
+ delete narrow["Price_from_to"];
57
+ return narrow;
58
+ });
59
+ }
60
+ }, 75);
61
+ };
62
+ const getMetaNarrow = () => {
63
+ var _a, _b, _c, _d, _e, _f, _g, _h;
64
+ let values = (_h = (_f = (_e = (_d = (_c = (_b = (_a = narrow === null || narrow === void 0 ? void 0 : narrow.values) === null || _a === void 0 ? void 0 : _a.call(narrow)) === null || _b === void 0 ? void 0 : _b.next) === null || _c === void 0 ? void 0 : _c.call(_b)) === null || _d === void 0 ? void 0 : _d.value) === null || _e === void 0 ? void 0 : _e.split) === null || _f === void 0 ? void 0 : (_g = _f.call(_e, "-")).map) === null || _h === void 0 ? void 0 : _h.call(_g, val => { return !isNaN(val) ? Number(val) : null; });
65
+ return values && (values === null || values === void 0 ? void 0 : values[0]) && (values === null || values === void 0 ? void 0 : values[1]) ? values : metaValue;
66
+ };
67
+ let timer;
68
+ const onFromToFilterChange = (facetid, value) => {
69
+ clearTimeout(timer);
70
+ timer = setTimeout(() => {
71
+ onChange((facet === null || facet === void 0 ? void 0 : facet.name) + "_from_to", value, true);
72
+ }, 750);
73
+ };
74
+ return (_jsxs("div", Object.assign({ className: classes.fsOptions, style: { pointerEvents: disableSelect ? 'none' : 'auto' } }, { children: [(itemsToShow === null || itemsToShow === void 0 ? void 0 : itemsToShow.length) ?
75
+ itemsToShow.map(value => {
76
+ return (_jsx("span", Object.assign({ onClick: () => onFacetClicked(value.name) }, { children: _jsx(Checkbox, Object.assign({ isChecked: !!(narrow === null || narrow === void 0 ? void 0 : narrow.has(value.name)), id: value.name, onChange: () => {
77
+ onFacetClicked(value.name);
78
+ }, ariaLabel: getDisplayName(value.displayName) }, { children: _jsxs("span", Object.assign({ className: "filters-option-text fs-serp-filter-text" }, { children: [getDisplayName(value.displayName), " ", (value === null || value === void 0 ? void 0 : value.count) > 0 ? `(${value === null || value === void 0 ? void 0 : value.count})` : null] })) })) }), 'fs-checkbox-' + value.name));
79
+ }) :
80
+ (facet === null || facet === void 0 ? void 0 : facet.meta) ?
81
+ _jsx(SliderFilter, { value: (_a = getMetaNarrow()) !== null && _a !== void 0 ? _a : [Number((_b = facet === null || facet === void 0 ? void 0 : facet.meta) === null || _b === void 0 ? void 0 : _b.min), Number((_c = facet === null || facet === void 0 ? void 0 : facet.meta) === null || _c === void 0 ? void 0 : _c.max)], id: 'fs-checkbox-' + (facet === null || facet === void 0 ? void 0 : facet.name), min: Number((_d = facet === null || facet === void 0 ? void 0 : facet.meta) === null || _d === void 0 ? void 0 : _d.min), max: Number((_e = facet === null || facet === void 0 ? void 0 : facet.meta) === null || _e === void 0 ? void 0 : _e.max), onChange: (val) => {
82
+ onSliderFacetClicked(val);
83
+ } }) : null, (facet === null || facet === void 0 ? void 0 : facet.name) === "Price" && (itemsToShow === null || itemsToShow === void 0 ? void 0 : itemsToShow.length) ?
84
+ _jsx(FromToFilter, { facet: getCustomPriceFilter(), value: getMetaNarrow(), onChange: onFromToFilterChange }) : null, expanded && ((_f = facet === null || facet === void 0 ? void 0 : facet.values) === null || _f === void 0 ? void 0 : _f.length) !== (itemsToShow === null || itemsToShow === void 0 ? void 0 : itemsToShow.length) ?
85
+ _jsx("span", Object.assign({ onClick: handleShowLessClick, className: classes.showMore }, { children: _jsxs("small", { children: ["Show Less\u00A0\u00A0\u00A0", _jsx("i", { className: classNames(classes.arrow, classes.down) })] }) }))
86
+ :
87
+ ((_g = facet === null || facet === void 0 ? void 0 : facet.values) === null || _g === void 0 ? void 0 : _g.length) !== (itemsToShow === null || itemsToShow === void 0 ? void 0 : itemsToShow.length) ?
88
+ _jsx("span", Object.assign({ onClick: handleShowMoreClick, className: classes.showMore }, { children: _jsxs("small", { children: ["Show more\u00A0\u00A0\u00A0", _jsx("i", { className: classNames(classes.arrow, classes.down) })] }) })) : null] })));
89
+ }
90
+ //# sourceMappingURL=SingleFilter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SingleFilter.js","sourceRoot":"","sources":["../../../src/components/SingleFilter/SingleFilter.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAC/D,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAC;AACvC,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,YAAY,EAAC,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AAWpE,MAAM,UAAU,YAAY,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,GAAG,KAAK,EAAE,cAAc,EAAE,YAAY,EAAQ;;IAC9G,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAQ,EAAE,CAAC,CAAC;IAC1D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAA;IAExD,SAAS,CAAC,GAAG,EAAE;;QACX,cAAc,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,0CAAE,KAAK,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,WAAW,CAAC,KAAK,CAAC,CAAC;QACnB,IAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,KAAI,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,CAAA,EAAE;YAClC,YAAY,CAAC,CAAC,MAAM,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,0CAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,0CAAE,GAAG,CAAC,CAAC,CAAC,CAAA;SACrE;IACL,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,SAAS,CAAC,GAAG,EAAE;;QACX,IAAI,CAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,0CAAE,MAAM,MAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,CAAA,EAAE;YAC9C,WAAW,CAAC,IAAI,CAAC,CAAC;SACrB;IACL,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC7B,cAAc,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAC,CAAC;QAC9B,WAAW,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC,CAAA;IAED,MAAM,mBAAmB,GAAG,GAAG,EAAE;;QAC7B,cAAc,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,0CAAE,KAAK,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,WAAW,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC,CAAA;IAED,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,EAAE;QACpC,uBAAuB;QACvB,6BAA6B;QACzB,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAG,IAAI,CAAC,CAAC;QAChC,WAAW;IACf,CAAC,CAAA;IACD,MAAM,oBAAoB,GAAG,CAAC,KAAe,EAAS,EAAE;QACpD,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;;YACpB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,MAAK,MAAM,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,0CAAE,GAAG,CAAC,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,MAAK,MAAM,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,0CAAE,GAAG,CAAC,EAAE;gBACnF,QAAQ,CAAC,eAAe,EAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;aAC/D;iBAAM;gBACH,YAAY,CAAC,CAAC,CAAC,CAAC;gBAChB,cAAc,CAAC,CAAC,CAAS,EAAE,EAAE;oBACzB,MAAM,MAAM,qBAAQ,CAAC,CAAE,CAAC;oBACxB,OAAO,MAAM,CAAC,eAAe,CAAC,CAAC;oBAC/B,OAAO,MAAM,CAAC;gBAClB,CAAC,CAAC,CAAC;aACN;QACL,CAAC,EAAE,EAAE,CAAC,CAAC;IACX,CAAC,CAAA;IACD,MAAM,aAAa,GAAG,GAAa,EAAE;;QAClC,IAAI,MAAM,GAAG,MAAA,MAAA,MAAC,MAAA,MAAA,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,sDAAI,0CAAE,IAAI,kDAAI,0CAAE,KAAgB,0CAAE,KAAK,yDAAG,GAAG,GAAE,GAAG,mDAAG,GAAG,CAAC,EAAE,GAAE,OAAO,CAAC,KAAK,CAAC,GAAU,CAAC,CAAA,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA,CAAC,CAAC,IAAI,CAAA,CAAA,CAAC,CAAC,CAAC;QACxI,OAAO,MAAM,KAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,CAAC,CAAC,CAAA,KAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,CAAC,CAAC,CAAA,CAAC,CAAC,CAAA,MAAkB,CAAA,CAAC,CAAA,SAAS,CAAC;IAC7E,CAAC,CAAA;IACD,IAAI,KAAmD,CAAC;IACxD,MAAM,oBAAoB,GAAG,CAAC,OAAe,EAAE,KAAa,EAAE,EAAE;QAC5D,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YACpB,QAAQ,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,IAAC,UAAU,EAAG,KAAK,EAAE,IAAI,CAAC,CAAC;QACnD,CAAC,EAAE,GAAG,CAAC,CAAC;IACZ,CAAC,CAAA;IACD,OAAO,CACH,6BAAK,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAC,iBAElF,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,EAAC,CAAC;gBACd,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;oBACpB,OAAO,CACH,6BAAwC,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,gBACrF,KAAC,QAAQ,kBAAC,SAAS,EAAE,CAAC,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA,EAAE,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE;gCAC3E,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;4BAC9B,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,gBAC3C,8BACI,SAAS,EAAC,yCAAyC,iBAAE,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,OAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,IAAG,CAAC,CAAA,CAAC,CAAA,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,GAAG,CAAA,CAAC,CAAC,IAAI,KAAQ,IACxI,KANI,cAAc,GAAG,KAAK,CAAC,IAAI,CAOvC,CACF,CAAA;gBACL,CAAC,CAAC,CAAC,CAAC;gBACR,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,EAAC,CAAC;oBACT,KAAC,YAAY,IAAC,KAAK,EAAE,MAAA,aAAa,EAAE,mCAAE,CAAC,MAAM,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,0CAAE,GAAG,CAAC,EAAC,MAAM,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,0CAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,cAAc,IAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAA,EAC7G,GAAG,EAAE,MAAM,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,0CAAE,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,0CAAE,GAAG,CAAC,EAC5D,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;4BACd,oBAAoB,CAAC,GAAG,CAAC,CAAA;wBAC7B,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAKpC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,OAAO,KAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,CAAA,CAAC,CAAC;gBAC7C,KAAC,YAAY,IAAC,KAAK,EAAE,oBAAoB,EAAE,EAC3B,KAAK,EAAE,aAAa,EAAE,EACxB,QAAQ,EAAE,oBAAoB,GAAiB,CAAC,CAAC,CAAC,IAAI,EACvE,QAAQ,IAAI,CAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,0CAAE,MAAM,OAAK,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,CAAA,CAAC,CAAC;gBACxD,6BAAM,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,OAAO,CAAC,QAAQ,gBAAE,2DAAkC,YAC/F,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAQ,IAC1D;gBACP,CAAC;oBACD,CAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,0CAAE,MAAM,OAAK,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,CAAA,CAAC,CAAC;wBAC/C,6BAAM,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,OAAO,CAAC,QAAQ,gBAAE,2DAAkC,YAC/F,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAQ,IAC1D,CAAC,CAAC,CAAC,IAAI,KAEhB,CAET,CAAA;AAEL,CAAC","sourcesContent":["import React, {useEffect, useState} from 'react';\r\nimport {Facet, Narrow} from \"@fast-simon/utilities\";\r\nimport { Checkbox } from '../CheckboxFilter/Checkbox/Checkbox';\r\nimport {getDisplayName} from \"./utils\";\r\nimport classes from './styles.module.css';\r\nimport classNames from \"classnames\";\r\nimport SliderFilter from \"../SliderFilter\";\r\nimport {FromToFilter} from \"../FromToFilter/FromToFilter\";\r\nimport {getCustomPriceFilter} from \"../BackOfficeFiltersMenu/utils\";\r\n\r\ninterface Props {\r\n facet: Facet;\r\n onChange: (facetName: string, narrowName: string, updateSingleNarrow?: boolean) => void;\r\n narrow?: Set<string>;\r\n disableSelect?: boolean;\r\n onNarrowChange: (narrow: any) => void;\r\n onPageChange: (page: number) => void;\r\n}\r\n\r\nexport function SingleFilter({facet, onChange, narrow, disableSelect = false, onNarrowChange, onPageChange}: Props) {\r\n const [expanded, setExpanded] = useState(false);\r\n const [itemsToShow, setItemsToShow] = useState<any[]>([]);\r\n const [metaValue, setMetaValue] = useState<number[]>([])\r\n\r\n useEffect(() => {\r\n setItemsToShow(facet?.values?.slice(0,5));\r\n setExpanded(false);\r\n if(facet?.meta && !metaValue?.length) {\r\n setMetaValue([Number(facet?.meta?.min), Number(facet?.meta?.max)])\r\n }\r\n }, [facet]);\r\n\r\n useEffect(() => {\r\n if (facet?.values?.length <= itemsToShow?.length) {\r\n setExpanded(true);\r\n }\r\n }, [itemsToShow]);\r\n\r\n const handleShowMoreClick = () => {\r\n setItemsToShow(facet?.values);\r\n setExpanded(true);\r\n }\r\n\r\n const handleShowLessClick = () => {\r\n setItemsToShow(facet?.values?.slice(0,5));\r\n setExpanded(true);\r\n }\r\n\r\n const onFacetClicked = (name: string) => {\r\n // clearTimeout(timer);\r\n // timer = setTimeout(() => {\r\n onChange(facet.name , name);\r\n // }, 750);\r\n }\r\n const onSliderFacetClicked = (value: number[]) : void => {\r\n clearTimeout(timer);\r\n timer = setTimeout(() => {\r\n setMetaValue(value);\r\n if(value?.[0] !== Number(facet?.meta?.min) || value?.[1] !== Number(facet?.meta?.max)) {\r\n onChange(\"Price_from_to\" , value[0] + \"-\" + value[1], true);\r\n } else {\r\n onPageChange(1);\r\n onNarrowChange((n: Narrow) => {\r\n const narrow = { ...n };\r\n delete narrow[\"Price_from_to\"];\r\n return narrow;\r\n });\r\n }\r\n }, 75);\r\n }\r\n const getMetaNarrow = (): number[] => {\r\n let values = (narrow?.values?.()?.next?.()?.value as string)?.split?.(\"-\").map?.(val => {return !isNaN(val as any)? Number(val): null});\r\n return values && values?.[0] && values?.[1] ?values as number[]:metaValue;\r\n }\r\n let timer: string | number | NodeJS.Timeout | undefined;\r\n const onFromToFilterChange = (facetid: string, value: string) => {\r\n clearTimeout(timer);\r\n timer = setTimeout(() => {\r\n onChange(facet?.name+\"_from_to\" , value, true);\r\n }, 750);\r\n }\r\n return (\r\n <div className={classes.fsOptions} style={{ pointerEvents: disableSelect ? 'none' : 'auto'}}>\r\n {\r\n itemsToShow?.length ?\r\n itemsToShow.map(value => {\r\n return (\r\n <span key={'fs-checkbox-' + value.name} onClick={() => onFacetClicked(value.name)}>\r\n <Checkbox isChecked={!!narrow?.has(value.name)} id={value.name} onChange={() => {\r\n onFacetClicked(value.name)\r\n }} ariaLabel={getDisplayName(value.displayName)}>\r\n <span\r\n className=\"filters-option-text fs-serp-filter-text\">{getDisplayName(value.displayName)} {value?.count > 0?`(${value?.count})`: null}</span>\r\n </Checkbox>\r\n </span>\r\n )\r\n }) :\r\n facet?.meta ?\r\n <SliderFilter value={getMetaNarrow()??[Number(facet?.meta?.min),Number(facet?.meta?.max)]} id={'fs-checkbox-' + facet?.name}\r\n min={Number(facet?.meta?.min)} max={Number(facet?.meta?.max)}\r\n onChange={(val) => {\r\n onSliderFacetClicked(val)\r\n }}/> : null\r\n\r\n\r\n\r\n }\r\n {facet?.name === \"Price\" && itemsToShow?.length ?\r\n <FromToFilter facet={getCustomPriceFilter()}\r\n value={getMetaNarrow()}\r\n onChange={onFromToFilterChange}></FromToFilter> : null}\r\n {expanded && facet?.values?.length !== itemsToShow?.length ?\r\n <span onClick={handleShowLessClick} className={classes.showMore}><small>Show Less&nbsp;&nbsp;&nbsp;<i\r\n className={classNames(classes.arrow, classes.down)}/></small>\r\n </span>\r\n :\r\n facet?.values?.length !== itemsToShow?.length ?\r\n <span onClick={handleShowMoreClick} className={classes.showMore}><small>Show more&nbsp;&nbsp;&nbsp;<i\r\n className={classNames(classes.arrow, classes.down)}/></small>\r\n </span> : null\r\n }\r\n </div>\r\n\r\n )\r\n\r\n}\r\n\r\n"]}
@@ -0,0 +1,3 @@
1
+ import { FromTo } from "../FromToFilter/utils";
2
+ export declare const getDisplayName: (displayName: string) => string;
3
+ export declare const getCustomPriceFilter: () => FromTo;
@@ -0,0 +1,42 @@
1
+ import { FromToTypes } from "../FromToFilter/utils";
2
+ export const getDisplayName = (displayName) => {
3
+ let splittedName = displayName === null || displayName === void 0 ? void 0 : displayName.split(':');
4
+ if (splittedName === null || splittedName === void 0 ? void 0 : splittedName[1]) {
5
+ return splittedName === null || splittedName === void 0 ? void 0 : splittedName[1];
6
+ }
7
+ return displayName;
8
+ };
9
+ export const getCustomPriceFilter = () => {
10
+ var _a, _b, _c, _d, _e;
11
+ let id = Date.now();
12
+ let filters = {
13
+ "price": {
14
+ id: "price", name: "Price", displayName: "",
15
+ from: {
16
+ key: "price_from",
17
+ type: FromToTypes.number,
18
+ name: "From",
19
+ value: ""
20
+ },
21
+ to: {
22
+ key: "price_to",
23
+ type: FromToTypes.number,
24
+ name: "To",
25
+ value: ""
26
+ }
27
+ }
28
+ };
29
+ for (const [key, values] of Object.entries(filters)) {
30
+ if ((_a = filters[key]) === null || _a === void 0 ? void 0 : _a.name) {
31
+ filters[key].name += id.toString();
32
+ }
33
+ if ((_c = (_b = filters[key]) === null || _b === void 0 ? void 0 : _b.from) === null || _c === void 0 ? void 0 : _c.key) {
34
+ filters[key].from.key += id.toString();
35
+ }
36
+ if ((_e = (_d = filters[key]) === null || _d === void 0 ? void 0 : _d.to) === null || _e === void 0 ? void 0 : _e.key) {
37
+ filters[key].to.key += id.toString();
38
+ }
39
+ }
40
+ return filters === null || filters === void 0 ? void 0 : filters["price"];
41
+ };
42
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/components/SingleFilter/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,WAAmB,EAAE,EAAE;IAClD,IAAI,YAAY,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,CAAC,CAAC,EAAC;QACjB,OAAO,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,CAAC,CAAC,CAAA;KAC3B;IACD,OAAO,WAAW,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAW,EAAE;;IAC7C,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACpB,IAAI,OAAO,GAAG;QACV,OAAO,EAAE;YACL,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE;YAC3C,IAAI,EAAE;gBACF,GAAG,EAAE,YAAY;gBACjB,IAAI,EAAE,WAAW,CAAC,MAAM;gBACxB,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,EAAE;aACZ;YACD,EAAE,EAAE;gBACA,GAAG,EAAE,UAAU;gBACf,IAAI,EAAE,WAAW,CAAC,MAAM;gBACxB,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,EAAE;aACZ;SACJ;KACJ,CAAC;IACF,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QACjD,IAAG,MAAE,OAAe,CAAC,GAAG,CAAS,0CAAE,IAAI,EAAE;YACnC,OAAe,CAAC,GAAG,CAAS,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;SACxD;QACD,IAAG,MAAA,MAAE,OAAe,CAAC,GAAG,CAAS,0CAAE,IAAI,0CAAE,GAAG,EAAE;YACxC,OAAe,CAAC,GAAG,CAAS,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;SAC5D;QACD,IAAG,MAAA,MAAE,OAAe,CAAC,GAAG,CAAS,0CAAE,EAAE,0CAAE,GAAG,EAAE;YACtC,OAAe,CAAC,GAAG,CAAS,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;SAC1D;KACJ;IACD,OAAO,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,OAAO,CAAW,CAAC;AACxC,CAAC,CAAA","sourcesContent":["import { FromTo, FromToTypes } from \"../FromToFilter/utils\";\r\n\r\nexport const getDisplayName = (displayName: string) => {\r\n let splittedName = displayName?.split(':');\r\n if(splittedName?.[1]){\r\n return splittedName?.[1]\r\n }\r\n return displayName;\r\n};\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\n"]}
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import 'rc-slider/assets/index.css';
3
+ export interface Classes {
4
+ }
5
+ export interface SliderProps {
6
+ disabled?: boolean;
7
+ className?: string;
8
+ onChange: (value: number[]) => void;
9
+ onChangeEnd?: (value: number) => void;
10
+ value?: number | number[];
11
+ id: string;
12
+ min: number;
13
+ max: number;
14
+ step?: number;
15
+ marks?: {
16
+ [id: number]: string;
17
+ };
18
+ }
19
+ declare const SliderFilter: React.FC<SliderProps>;
20
+ export default SliderFilter;
@@ -0,0 +1,46 @@
1
+ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useEffect, useState } from 'react';
3
+ import Slider from 'rc-slider';
4
+ import 'rc-slider/assets/index.css';
5
+ import classes from './styles.module.css';
6
+ const SliderFilter = ({ min, max, onChange, value, disabled, marks, step }) => {
7
+ const [options, setOptions] = useState({});
8
+ const [optionSize, setOptionSize] = useState(10);
9
+ const [currentValue, setCurrentValue] = useState([]);
10
+ const createSliderMarks = (minPrice, maxPrice, step, numberOfMarks) => {
11
+ const marks = {};
12
+ // Generate the marks
13
+ for (let i = 0; i < numberOfMarks; i++) {
14
+ let markValue = min + i * step;
15
+ // Ensure the last mark is exactly the max value
16
+ if (i === numberOfMarks - 1) {
17
+ markValue = max;
18
+ }
19
+ marks[markValue] = markValue.toString();
20
+ }
21
+ return marks;
22
+ };
23
+ useEffect(() => {
24
+ const maxVal = Math.ceil(max ? max : 500);
25
+ const numberOfMarks = maxVal > 10000 ? 6 : 10;
26
+ // Calculate the step size
27
+ const tempStep = Math.ceil(step ? step : (maxVal - min) / (numberOfMarks - 1));
28
+ const tempDots = createSliderMarks(min, maxVal, tempStep, numberOfMarks);
29
+ setOptionSize(tempStep);
30
+ setOptions(tempDots);
31
+ }, [max, step]);
32
+ useEffect(() => {
33
+ setCurrentValue(value);
34
+ }, [value]);
35
+ const onSliderChange = (e) => {
36
+ clearTimeout(window.priceSliderTimer);
37
+ setCurrentValue(e);
38
+ window.priceSliderTimer = setTimeout(() => {
39
+ onChange(e);
40
+ }, 750);
41
+ };
42
+ // @ts-ignore
43
+ return (_jsx(_Fragment, { children: _jsx(Slider, { range: true, min: min, max: max, marks: options, step: optionSize, onChange: (e) => { onSliderChange(e); }, value: currentValue ? currentValue : [min, max], allowCross: false, pushable: true, draggableTrack: true, trackStyle: { backgroundColor: '#282828' }, handleStyle: { borderColor: '#575757' }, dotStyle: { borderColor: '#575757' }, activeDotStyle: { borderColor: '#575757' }, className: classes.rcSlider }) }));
44
+ };
45
+ export default SliderFilter;
46
+ //# sourceMappingURL=SliderFilter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SliderFilter.js","sourceRoot":"","sources":["../../../src/components/SliderFilter/SliderFilter.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {useEffect, useState} from 'react';\r\nimport Slider from 'rc-slider';\r\nimport 'rc-slider/assets/index.css';\r\nimport classes from './styles.module.css';\r\n\r\nexport interface Classes {\r\n\r\n}\r\n\r\nexport interface SliderProps {\r\n disabled?: boolean\r\n className?: string\r\n onChange: (value: number[]) => void\r\n onChangeEnd?: (value: number) => void\r\n value?: number | number[]\r\n id: string\r\n min: number\r\n max: number\r\n step?: number\r\n marks?: { [id: number] :string }\r\n}\r\n\r\nconst SliderFilter: React.FC<SliderProps> = ({min, max, onChange, value, disabled, marks, step}: SliderProps)=> {\r\n const [options, setOptions]= useState<Record<string | number, any>>({});\r\n const [optionSize, setOptionSize]= useState<number>(10);\r\n const [currentValue, setCurrentValue] = useState<number |number[] | undefined>([])\r\n\r\n const createSliderMarks = (minPrice: number, maxPrice: number, step: number, numberOfMarks: number) => {\r\n const marks: Record<string, string> = {};\r\n\r\n // Generate the marks\r\n for (let i = 0; i < numberOfMarks; i++) {\r\n let markValue = min + i * step;\r\n\r\n // Ensure the last mark is exactly the max value\r\n if (i === numberOfMarks - 1) {\r\n markValue = max;\r\n }\r\n\r\n marks[markValue] = markValue.toString();\r\n }\r\n\r\n return marks;\r\n }\r\n\r\n\r\n useEffect(() => {\r\n const maxVal = Math.ceil( max ? max : 500);\r\n const numberOfMarks = maxVal > 10000 ? 6 : 10;\r\n // Calculate the step size\r\n const tempStep = Math.ceil(step ? step :(maxVal - min) / (numberOfMarks - 1));\r\n const tempDots = createSliderMarks(min, maxVal, tempStep, numberOfMarks);\r\n setOptionSize(tempStep);\r\n setOptions(tempDots);\r\n }, [max, step]);\r\n\r\n\r\n useEffect(() =>{\r\n setCurrentValue(value);\r\n },[value])\r\n\r\n const onSliderChange = (e: number[]) => {\r\n clearTimeout((window as any).priceSliderTimer);\r\n setCurrentValue(e);\r\n (window as any).priceSliderTimer = setTimeout(() => {\r\n onChange(e);\r\n }, 750);\r\n }\r\n\r\n // @ts-ignore\r\n return (<>\r\n <Slider\r\n range\r\n min={min}\r\n max={max}\r\n marks={options}\r\n step={optionSize}\r\n onChange={(e: number | number[]) => {onSliderChange(e as number[]);}}\r\n value={currentValue?currentValue:[min, max]}\r\n allowCross={false}\r\n pushable\r\n draggableTrack\r\n trackStyle={{backgroundColor: '#282828'}}\r\n handleStyle={{borderColor: '#575757'}}\r\n dotStyle={{borderColor: '#575757'}}\r\n activeDotStyle={{borderColor: '#575757'}}\r\n className={classes.rcSlider}\r\n />\r\n </>);\r\n};\r\n\r\nexport default SliderFilter;\r\n"]}
@@ -0,0 +1 @@
1
+ export { default } from "./SliderFilter";
@@ -0,0 +1,2 @@
1
+ export { default } from "./SliderFilter";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/SliderFilter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC","sourcesContent":["export {default} from \"./SliderFilter\";\r\n"]}
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ export interface Props {
3
+ text?: string;
4
+ className?: string;
5
+ type?: 'help' | 'lock';
6
+ }
7
+ declare const Tooltip: React.FC<Props>;
8
+ export default Tooltip;
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import clsx from "clsx";
3
+ import classes from "./styles.module.css";
4
+ import { HelpIcon } from "../../icons/HelpIcon";
5
+ const Tooltip = ({ text, className, type = 'help' }) => {
6
+ return (_jsxs(_Fragment, { children: [type === 'help' && _jsx(HelpIcon, { width: 20, height: 20, customClass: classes.tooltipIcon }), type === 'lock' && _jsx("span", Object.assign({ className: clsx('material-symbols-outlined', classes.tooltipIcon) }, { children: "lock" })), _jsx("div", Object.assign({ className: classes.miniTooltip }, { children: text }))] }));
7
+ };
8
+ export default Tooltip;
9
+ //# sourceMappingURL=Tooltip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"names":[],"mappings":";AACA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAQ9C,MAAM,OAAO,GAAoB,CAAC,EAAC,IAAI,EAAE,SAAS,EAAE,IAAI,GAAG,MAAM,EAAC,EAAE,EAAE;IAElE,OAAO,CACH,8BACK,IAAI,KAAK,MAAM,IAAI,KAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,GAAG,EACvF,IAAI,KAAK,MAAM,IAAI,6BAAM,SAAS,EAAE,IAAI,CAAC,2BAA2B,EAAE,OAAO,CAAC,WAAW,CAAC,0BAAa,EACxG,4BAAK,SAAS,EAAE,OAAO,CAAC,WAAW,gBAAG,IAAI,IAAO,IACnD,CACL,CAAA;AACL,CAAC,CAAA;AAED,eAAe,OAAO,CAAC","sourcesContent":["import React from \"react\";\r\nimport clsx from \"clsx\";\r\nimport classes from \"./styles.module.css\";\r\nimport {HelpIcon} from \"../../icons/HelpIcon\";\r\n\r\nexport interface Props {\r\n text?: string;\r\n className?: string;\r\n type?: 'help' | 'lock'\r\n}\r\n\r\nconst Tooltip: React.FC<Props> = ({text, className, type = 'help'}) => {\r\n\r\n return (\r\n <>\r\n {type === 'help' && <HelpIcon width={20} height={20} customClass={classes.tooltipIcon}/>}\r\n {type === 'lock' && <span className={clsx('material-symbols-outlined', classes.tooltipIcon)}>lock</span>}\r\n <div className={classes.miniTooltip}>{text}</div>\r\n </>\r\n )\r\n}\r\n\r\nexport default Tooltip;"]}
@@ -0,0 +1,34 @@
1
+ import { Attribute, Variant } from "fast-simon-sdk";
2
+ export declare enum ReportType {
3
+ Search = "search",
4
+ Collection = "collection",
5
+ Recommendation = "recommendations"
6
+ }
7
+ export type RedirectType = "single-page" | "multi-page";
8
+ export type ClickSource = "recommnedetions";
9
+ export declare const Defaults: {
10
+ SWITCH_FACETS_NAMES: string[];
11
+ CATEGORY_FACET_NAME: string;
12
+ PRICE_FACET_NAME: string;
13
+ SELLABLE_FACET_NAME: string;
14
+ PRICE_MIN_FACET_NAME: string;
15
+ PRICE_MAX_FACET_NAME: string;
16
+ PRICE_RANGE_FACET_NAME: string;
17
+ IMAGE_FACET_NAME: string;
18
+ TAG_FACET_NAME: string;
19
+ PROMO_TILE_TAG_NAME: string;
20
+ COLOR_FACET_NAMES: string[];
21
+ REVIEW_FACET_NAME: string;
22
+ SIZE_FACET_NAME: string;
23
+ };
24
+ export declare const newObject: <T>(obj: any) => Record<string, T>;
25
+ interface VariantItem {
26
+ id: string;
27
+ value: string;
28
+ sellable: boolean;
29
+ }
30
+ export declare const getSelectedVariantID: (image: string, variants?: Variant[]) => string | undefined;
31
+ export declare const getVariantList: (variants: Variant[], variantName: string, showSoldOut: boolean) => VariantItem[];
32
+ export declare const getAttributeList: (attributes: Attribute[], name: string) => string[];
33
+ export declare const useScrollBar: () => string;
34
+ export {};
@@ -0,0 +1,80 @@
1
+ import { createUseStyles, useTheme } from "react-jss";
2
+ export var ReportType;
3
+ (function (ReportType) {
4
+ ReportType["Search"] = "search";
5
+ ReportType["Collection"] = "collection";
6
+ ReportType["Recommendation"] = "recommendations";
7
+ })(ReportType || (ReportType = {}));
8
+ export const Defaults = {
9
+ SWITCH_FACETS_NAMES: ["Isp-in-stock", "Isp-on-sale"],
10
+ CATEGORY_FACET_NAME: "Categories",
11
+ PRICE_FACET_NAME: "Price",
12
+ SELLABLE_FACET_NAME: "Sellable",
13
+ PRICE_MIN_FACET_NAME: "Price_min",
14
+ PRICE_MAX_FACET_NAME: "Price_max",
15
+ PRICE_RANGE_FACET_NAME: "Price_from_to",
16
+ IMAGE_FACET_NAME: "imgs",
17
+ TAG_FACET_NAME: "Tag",
18
+ PROMO_TILE_TAG_NAME: "phantom",
19
+ COLOR_FACET_NAMES: ["Color", "Isp-color-family", "Colour"],
20
+ REVIEW_FACET_NAME: "Isp-review-stars",
21
+ SIZE_FACET_NAME: "Size"
22
+ };
23
+ export const newObject = (obj) => {
24
+ const newObj = {};
25
+ for (const [key, value] of Object.entries(obj)) {
26
+ if (typeof value !== "undefined" && value !== null) {
27
+ newObj[key] = value;
28
+ }
29
+ }
30
+ return newObj;
31
+ };
32
+ export const getSelectedVariantID = (image, variants) => {
33
+ var _a;
34
+ if (!variants) {
35
+ return undefined;
36
+ }
37
+ const variantList = getVariantList(variants, Defaults.IMAGE_FACET_NAME, true);
38
+ return variantList.length > 0 ? (_a = variantList.find(v => v.value === image)) === null || _a === void 0 ? void 0 : _a.id : undefined;
39
+ };
40
+ export const getVariantList = (variants, variantName, showSoldOut) => {
41
+ const valueSet = new Set();
42
+ return variants.map(([id, data]) => {
43
+ const variant = data.find(value => value[0] === variantName);
44
+ const inStock = Boolean(data.find(value => value[0] === Defaults.SELLABLE_FACET_NAME && value[1][0]));
45
+ if (variant && !valueSet.has(variant[1][0])) {
46
+ valueSet.add(variant[1][0]);
47
+ return {
48
+ id: id.toString(),
49
+ value: variant[1][0],
50
+ sellable: inStock
51
+ };
52
+ }
53
+ return undefined;
54
+ }).filter(v => v && (showSoldOut || v.sellable));
55
+ };
56
+ export const getAttributeList = (attributes, name) => {
57
+ var _a, _b;
58
+ return (_b = (_a = attributes.find(attribute => attribute[0] === name)) === null || _a === void 0 ? void 0 : _a[1]) !== null && _b !== void 0 ? _b : [];
59
+ };
60
+ export const useScrollBar = () => {
61
+ const theme = useTheme();
62
+ return (createUseStyles({
63
+ scrollBar: {
64
+ overflowY: "auto",
65
+ "&::-webkit-scrollbar": {
66
+ width: 10
67
+ },
68
+ "&::-webkit-scrollbar-track": {
69
+ background: "#f1f1f1"
70
+ },
71
+ "&::-webkit-scrollbar-thumb": {
72
+ background: theme.lighterPrimary,
73
+ },
74
+ "&::-webkit-scrollbar-thumb:hover": {
75
+ background: theme.primaryColor,
76
+ },
77
+ }
78
+ }))().scrollBar;
79
+ };
80
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/components/common.ts"],"names":[],"mappings":"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","sourcesContent":["import {Attribute, Variant} from \"fast-simon-sdk\"\r\nimport {createUseStyles, useTheme} from \"react-jss\";\r\nimport {MainTheme} from \"./FastSimonApi/FastSimonApi\";\r\n\r\nexport enum ReportType {\r\n Search = \"search\",\r\n Collection = \"collection\",\r\n Recommendation = \"recommendations\"\r\n}\r\n\r\nexport type RedirectType = \"single-page\" | \"multi-page\"\r\n\r\nexport type ClickSource = \"recommnedetions\"\r\n\r\nexport const Defaults = {\r\n SWITCH_FACETS_NAMES: [\"Isp-in-stock\", \"Isp-on-sale\"],\r\n CATEGORY_FACET_NAME: \"Categories\",\r\n PRICE_FACET_NAME: \"Price\",\r\n SELLABLE_FACET_NAME: \"Sellable\",\r\n PRICE_MIN_FACET_NAME: \"Price_min\",\r\n PRICE_MAX_FACET_NAME: \"Price_max\",\r\n PRICE_RANGE_FACET_NAME: \"Price_from_to\",\r\n IMAGE_FACET_NAME: \"imgs\",\r\n TAG_FACET_NAME: \"Tag\",\r\n PROMO_TILE_TAG_NAME: \"phantom\",\r\n COLOR_FACET_NAMES: [\"Color\",\"Isp-color-family\", \"Colour\"],\r\n REVIEW_FACET_NAME: \"Isp-review-stars\",\r\n SIZE_FACET_NAME: \"Size\"\r\n}\r\n\r\nexport const newObject = <T>(obj: any): Record<string, T> => {\r\n const newObj: Record<string, any> = {};\r\n\r\n for (const [key, value] of Object.entries(obj)) {\r\n if (typeof value !== \"undefined\" && value !== null) {\r\n newObj[key] = value;\r\n }\r\n }\r\n\r\n return newObj;\r\n}\r\n\r\ninterface VariantItem {\r\n id: string,\r\n value: string,\r\n sellable: boolean\r\n}\r\n\r\nexport const getSelectedVariantID = (image: string, variants?: Variant[]): string | undefined => {\r\n if (!variants) {\r\n return undefined;\r\n }\r\n\r\n const variantList = getVariantList(variants, Defaults.IMAGE_FACET_NAME, true);\r\n\r\n return variantList.length > 0 ? variantList.find(v => v.value === image)?.id : undefined;\r\n}\r\n\r\nexport const getVariantList = (variants: Variant[], variantName: string, showSoldOut: boolean): VariantItem[] => {\r\n const valueSet = new Set<string>();\r\n\r\n return variants.map(([id, data]) => {\r\n const variant = data.find(value => value[0] === variantName);\r\n const inStock = Boolean(data.find(value => value[0] === Defaults.SELLABLE_FACET_NAME && value[1][0]));\r\n if (variant && !valueSet.has(variant[1][0])) {\r\n valueSet.add(variant[1][0]);\r\n\r\n return {\r\n id: id.toString(),\r\n value: variant[1][0],\r\n sellable: inStock\r\n }\r\n }\r\n\r\n return undefined;\r\n }).filter(v => v && (showSoldOut || v.sellable)) as VariantItem[];\r\n}\r\n\r\nexport const getAttributeList = (attributes: Attribute[], name: string): string[] => {\r\n return attributes.find(attribute => attribute[0] === name)?.[1] as unknown as string[] ?? []\r\n}\r\n\r\nexport const useScrollBar = () => {\r\n const theme: MainTheme = useTheme();\r\n\r\n return (createUseStyles({\r\n scrollBar: {\r\n overflowY: \"auto\",\r\n \"&::-webkit-scrollbar\": {\r\n width: 10\r\n },\r\n \"&::-webkit-scrollbar-track\": {\r\n background: \"#f1f1f1\"\r\n },\r\n \"&::-webkit-scrollbar-thumb\": {\r\n background: theme.lighterPrimary,\r\n },\r\n \"&::-webkit-scrollbar-thumb:hover\": {\r\n background: theme.primaryColor,\r\n },\r\n }\r\n }))().scrollBar\r\n}"]}
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ interface Props {
3
+ numberPerRow: number;
4
+ children?: React.ReactNode;
5
+ }
6
+ declare const ProductGrid: React.FC<Props>;
7
+ export default ProductGrid;
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import classes from "./styles.module.css";
3
+ const ProductGrid = (props) => {
4
+ const { numberPerRow, children } = props;
5
+ return (_jsx("div", Object.assign({ className: classes.grid, style: {
6
+ "--products-per-row": numberPerRow,
7
+ width: numberPerRow === 2 ? "500px" : "100%",
8
+ } }, { children: children })));
9
+ };
10
+ export default ProductGrid;
11
+ //# sourceMappingURL=ProductGrid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProductGrid.js","sourceRoot":"","sources":["../../../src/components/productGrid/ProductGrid.tsx"],"names":[],"mappings":";AACA,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAO1C,MAAM,WAAW,GAAoB,CAAC,KAAK,EAAE,EAAE;IAC3C,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAEzC,OAAO,CACH,4BACI,SAAS,EAAE,OAAO,CAAC,IAAI,EACvB,KAAK,EACD;YACI,oBAAoB,EAAE,YAAY;YAClC,KAAK,EAAE,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;SACxC,gBAGX,QAAQ,IACP,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC","sourcesContent":["import React from \"react\";\nimport classes from \"./styles.module.css\";\n\ninterface Props {\n numberPerRow: number;\n children?: React.ReactNode;\n}\n\nconst ProductGrid: React.FC<Props> = (props) => {\n const { numberPerRow, children } = props;\n\n return (\n <div\n className={classes.grid}\n style={\n {\n \"--products-per-row\": numberPerRow,\n width: numberPerRow === 2 ? \"500px\" : \"100%\",\n } as any\n }\n >\n {children}\n </div>\n );\n};\n\nexport default ProductGrid;\n"]}
@@ -0,0 +1 @@
1
+ export { default } from "./ProductGrid";
@@ -0,0 +1,2 @@
1
+ export { default } from "./ProductGrid";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/productGrid/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC","sourcesContent":["export { default } from \"./ProductGrid\";\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { IconProps } from "../@types/iconProps";
2
+ export declare const BackOfficeFiltersIcon: ({ width, height, customClasses }: IconProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import classes from "./styles.module.css";
3
+ import clsx from "clsx";
4
+ export const BackOfficeFiltersIcon = ({ width, height, customClasses }) => {
5
+ return (_jsx("div", Object.assign({ className: classes.iconWrapperForStrokedSvg, style: { transform: 'scale(0.85)' } }, { children: _jsxs("svg", Object.assign({ width: width, height: height, viewBox: "0 0 35 34", fill: 'white', xmlns: "http://www.w3.org/2000/svg" }, { children: [_jsx("path", { className: clsx(classes.svgPath, customClasses === null || customClasses === void 0 ? void 0 : customClasses.path), d: "M3.33203 16.9995V21.2495C3.33203 28.3329 6.16536 31.1662 13.2487 31.1662H21.7487C28.832 31.1662 31.6654 28.3329 31.6654 21.2495V12.7495C31.6654 8.32952 30.5604 5.55285 27.9962 4.10785C27.2737 3.69702 25.8287 3.38535 24.5112 3.17285M18.9154 18.4162H25.9987M16.082 24.0829H25.9987", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { className: clsx(classes.svgPath, customClasses === null || customClasses === void 0 ? void 0 : customClasses.path), d: "M5.24616 2.83301H17.8545C18.9028 2.83301 19.767 3.69717 19.767 4.74551V6.84217C19.767 7.60717 19.2853 8.55634 18.8178 9.03801L14.7095 12.6647C14.1428 13.1463 13.7603 14.0955 13.7603 14.8605V18.9688C13.7603 19.5355 13.3778 20.3005 12.8962 20.598L11.5645 21.4622C10.3178 22.2272 8.60366 21.363 8.60366 19.833V14.7755C8.60366 14.1097 8.22116 13.2455 7.83866 12.7638L4.21199 8.93884C3.73033 8.45717 3.34783 7.60717 3.34783 7.02634V4.83051C3.33366 3.69717 4.19783 2.83301 5.24616 2.83301Z", strokeWidth: "2", strokeMiterlimit: "10", strokeLinecap: "round", strokeLinejoin: "round" })] })) })));
6
+ };
7
+ //# sourceMappingURL=BackOfficeFiltersIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackOfficeFiltersIcon.js","sourceRoot":"","sources":["../../src/icons/BackOfficeFiltersIcon.tsx"],"names":[],"mappings":";AACA,OAAO,OAAO,MAAM,qBAAqB,CAAA;AACzC,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAY,EAAE,EAAE;IAC/E,OAAO,CACH,4BAAK,SAAS,EAAE,OAAO,CAAC,wBAAwB,EAAE,KAAK,EAAE,EAAC,SAAS,EAAE,aAAa,EAAC,gBAC/E,6BAAK,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAC,WAAW,EAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAC,4BAA4B,iBACpG,eAAM,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,CAAC,EAAE,CAAC,EAAC,wRAAwR,EAAC,WAAW,EAAC,GAAG,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,GAAE,EACtZ,eAAM,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,CAAC,EAAE,CAAC,EAAC,qeAAqe,EAAC,WAAW,EAAC,GAAG,EAAC,gBAAgB,EAAC,IAAI,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,GAAE,KACvnB,IACJ,CACT,CAAA;AACL,CAAC,CAAA","sourcesContent":["import React from \"react\";\r\nimport classes from \"./styles.module.css\"\r\nimport clsx from \"clsx\";\r\nimport {IconProps} from \"../@types/iconProps\";\r\n\r\nexport const BackOfficeFiltersIcon = ({width, height, customClasses}: IconProps) => {\r\n return (\r\n <div className={classes.iconWrapperForStrokedSvg} style={{transform: 'scale(0.85)'}}>\r\n <svg width={width} height={height} viewBox=\"0 0 35 34\" fill={'white'} xmlns=\"http://www.w3.org/2000/svg\">\r\n <path className={clsx(classes.svgPath, customClasses?.path)} d=\"M3.33203 16.9995V21.2495C3.33203 28.3329 6.16536 31.1662 13.2487 31.1662H21.7487C28.832 31.1662 31.6654 28.3329 31.6654 21.2495V12.7495C31.6654 8.32952 30.5604 5.55285 27.9962 4.10785C27.2737 3.69702 25.8287 3.38535 24.5112 3.17285M18.9154 18.4162H25.9987M16.082 24.0829H25.9987\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n <path className={clsx(classes.svgPath, customClasses?.path)} d=\"M5.24616 2.83301H17.8545C18.9028 2.83301 19.767 3.69717 19.767 4.74551V6.84217C19.767 7.60717 19.2853 8.55634 18.8178 9.03801L14.7095 12.6647C14.1428 13.1463 13.7603 14.0955 13.7603 14.8605V18.9688C13.7603 19.5355 13.3778 20.3005 12.8962 20.598L11.5645 21.4622C10.3178 22.2272 8.60366 21.363 8.60366 19.833V14.7755C8.60366 14.1097 8.22116 13.2455 7.83866 12.7638L4.21199 8.93884C3.73033 8.45717 3.34783 7.60717 3.34783 7.02634V4.83051C3.33366 3.69717 4.19783 2.83301 5.24616 2.83301Z\" strokeWidth=\"2\" strokeMiterlimit=\"10\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n )\r\n}"]}
@@ -0,0 +1,2 @@
1
+ import { IconProps } from "../@types/iconProps";
2
+ export declare const BannersIcon: ({ width, height, customClasses }: IconProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import classes from "./styles.module.css";
3
+ import clsx from "clsx";
4
+ export const BannersIcon = ({ width, height, customClasses }) => {
5
+ return (_jsx("div", Object.assign({ className: classes.iconWrapper }, { children: _jsx("span", Object.assign({ className: clsx("material-symbols-outlined", classes.materialIcon, customClasses === null || customClasses === void 0 ? void 0 : customClasses.svg) }, { children: "fertile" })) })));
6
+ };
7
+ //# sourceMappingURL=BannersIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BannersIcon.js","sourceRoot":"","sources":["../../src/icons/BannersIcon.tsx"],"names":[],"mappings":";AACA,OAAO,OAAO,MAAM,qBAAqB,CAAA;AACzC,OAAO,IAAI,MAAM,MAAM,CAAC;AAIxB,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAY,EAAE,EAAE;IACrE,OAAO,CACH,4BAAK,SAAS,EAAE,OAAO,CAAC,WAAW,gBAC/B,6BAAM,SAAS,EAAE,IAAI,CAAC,2BAA2B,EAAE,OAAO,CAAC,YAAY,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,GAAG,CAAC,6BAErF,IACL,CACT,CAAA;AACL,CAAC,CAAA","sourcesContent":["import React from \"react\";\r\nimport classes from \"./styles.module.css\"\r\nimport clsx from \"clsx\";\r\nimport {IconProps} from \"../@types/iconProps\";\r\n\r\n\r\nexport const BannersIcon = ({width, height, customClasses}: IconProps) => {\r\n return (\r\n <div className={classes.iconWrapper}>\r\n <span className={clsx(\"material-symbols-outlined\", classes.materialIcon, customClasses?.svg)}>\r\n fertile\r\n </span>\r\n </div>\r\n )\r\n}"]}
@@ -0,0 +1,7 @@
1
+ interface Props {
2
+ width?: number;
3
+ height?: number;
4
+ customClass?: string;
5
+ }
6
+ export declare const HelpIcon: ({ width, height, customClass }: Props) => import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ export const HelpIcon = ({ width, height, customClass }) => {
3
+ return (_jsx("svg", Object.assign({ className: customClass, xmlns: "http://www.w3.org/2000/svg", width: width, height: height, viewBox: "0 -960 960 960", fill: "#d7d7d7" }, { children: _jsx("path", { d: "M478-240q21 0 35.5-14.5T528-290q0-21-14.5-35.5T478-340q-21 0-35.5 14.5T428-290q0 21 14.5 35.5T478-240Zm-36-154h74q0-33 7.5-52t42.5-52q26-26 41-49.5t15-56.5q0-56-41-86t-97-30q-57 0-92.5 30T342-618l66 26q5-18 22.5-39t53.5-21q32 0 48 17.5t16 38.5q0 20-12 37.5T506-526q-44 39-54 59t-10 73Zm38 314q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z" }) })));
4
+ };
5
+ //# sourceMappingURL=HelpIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HelpIcon.js","sourceRoot":"","sources":["../../src/icons/HelpIcon.tsx"],"names":[],"mappings":";AAQA,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAS,EAAE,EAAE;IAC7D,OAAO,CACH,4BAAK,SAAS,EAAE,WAAW,EAAE,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAC,gBAAgB,EAAC,IAAI,EAAC,SAAS,gBACjI,eAAM,CAAC,EAAC,4dAA4d,GAAE,IACpe,CACT,CAAA;AACL,CAAC,CAAA","sourcesContent":["import React from \"react\";\r\n\r\ninterface Props {\r\n width?: number\r\n height?: number\r\n customClass?: string\r\n}\r\n\r\nexport const HelpIcon = ({width, height, customClass} : Props) => {\r\n return (\r\n <svg className={customClass} xmlns=\"http://www.w3.org/2000/svg\" width={width} height={height} viewBox=\"0 -960 960 960\" fill=\"#d7d7d7\">\r\n <path d=\"M478-240q21 0 35.5-14.5T528-290q0-21-14.5-35.5T478-340q-21 0-35.5 14.5T428-290q0 21 14.5 35.5T478-240Zm-36-154h74q0-33 7.5-52t42.5-52q26-26 41-49.5t15-56.5q0-56-41-86t-97-30q-57 0-92.5 30T342-618l66 26q5-18 22.5-39t53.5-21q32 0 48 17.5t16 38.5q0 20-12 37.5T506-526q-44 39-54 59t-10 73Zm38 314q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z\"/>\r\n </svg>\r\n )\r\n}"]}
@@ -0,0 +1,2 @@
1
+ import { IconProps } from "../@types/iconProps";
2
+ export declare const InStoreFiltersIcon: ({ width, height, customClasses }: IconProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import classes from "./styles.module.css";
3
+ import clsx from "clsx";
4
+ export const InStoreFiltersIcon = ({ width, height, customClasses }) => {
5
+ return (_jsx("div", Object.assign({ className: classes.iconWrapperForStrokedSvg, style: { transform: 'scale(0.85)' } }, { children: _jsxs("svg", Object.assign({ width: width, height: height, viewBox: "0 0 35 34", fill: 'white', xmlns: "http://www.w3.org/2000/svg" }, { children: [_jsx("path", { className: clsx(classes.svgPath, customClasses === null || customClasses === void 0 ? void 0 : customClasses.path), d: "M3.33203 16.9995V21.2495C3.33203 28.3329 6.16537 31.1662 13.2487 31.1662H21.7487C28.832 31.1662 31.6654 28.3329 31.6654 21.2495V12.7495C31.6654 8.32952 30.5604 5.55285 27.9962 4.10785C27.2737 3.69702 25.8287 3.38535 24.5112 3.17285M18.9154 18.4162H25.9987M16.082 24.0829H25.9987", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { className: clsx(classes.svgPath, customClasses === null || customClasses === void 0 ? void 0 : customClasses.path), d: "M5.18359 7.94727V11.1277C5.18359 14.3081 6.62859 15.5831 10.2331 15.5831H14.56C18.1645 15.5831 19.6095 14.3081 19.6095 11.1277V7.94727", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { className: clsx(classes.svgPath, customClasses === null || customClasses === void 0 ? void 0 : customClasses.path), d: "M12.3978 8.50033C13.8669 8.50033 14.9507 7.44491 14.8062 6.14866L14.2763 1.41699H10.5274L9.98949 6.14866C9.84499 7.44491 10.9287 8.50033 12.3978 8.50033Z", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { className: clsx(classes.svgPath, customClasses === null || customClasses === void 0 ? void 0 : customClasses.path), d: "M17.4638 8.50033C19.0854 8.50033 20.2735 7.33866 20.113 5.91491L19.8882 3.96699C19.5992 2.12533 18.7964 1.41699 16.6931 1.41699H14.2447L14.8066 6.38241C14.9431 7.55116 16.1392 8.50033 17.4638 8.50033ZM7.29261 8.50033C8.61719 8.50033 9.81333 7.55116 9.94178 6.38241L10.1184 4.81699L10.5037 1.41699H8.05525C5.95197 1.41699 5.14919 2.12533 4.86019 3.96699L4.64344 5.91491C4.48289 7.33866 5.671 8.50033 7.29261 8.50033ZM12.3983 12.042C11.0576 12.042 10.3913 12.6299 10.3913 13.8128V15.5837H14.4052V13.8128C14.4052 12.6299 13.7389 12.042 12.3983 12.042Z", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" })] })) })));
6
+ };
7
+ //# sourceMappingURL=InStoreFiltersIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InStoreFiltersIcon.js","sourceRoot":"","sources":["../../src/icons/InStoreFiltersIcon.tsx"],"names":[],"mappings":";AACA,OAAO,OAAO,MAAM,qBAAqB,CAAA;AACzC,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAY,EAAE,EAAE;IAC5E,OAAO,CACH,4BAAK,SAAS,EAAE,OAAO,CAAC,wBAAwB,EAAE,KAAK,EAAE,EAAC,SAAS,EAAE,aAAa,EAAC,gBAC/E,6BAAK,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAC,WAAW,EAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAC,4BAA4B,iBACpG,eAAM,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,CAAC,EAAE,CAAC,EAAC,wRAAwR,EAAC,WAAW,EAAC,GAAG,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,GAAE,EACtZ,eAAM,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,CAAC,EAAE,CAAC,EAAC,wIAAwI,EAAC,WAAW,EAAC,GAAG,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,GAAE,EACtQ,eAAM,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,CAAC,EAAE,CAAC,EAAC,2JAA2J,EAAC,WAAW,EAAC,GAAG,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,GAAE,EACzR,eAAM,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,CAAC,EAAE,CAAC,EAAC,siBAAsiB,EAAC,WAAW,EAAC,GAAG,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,GAAE,KAClqB,IACJ,CACT,CAAA;AACL,CAAC,CAAA","sourcesContent":["import React from \"react\";\r\nimport classes from \"./styles.module.css\"\r\nimport clsx from \"clsx\";\r\nimport {IconProps} from \"../@types/iconProps\";\r\n\r\nexport const InStoreFiltersIcon = ({width, height, customClasses}: IconProps) => {\r\n return (\r\n <div className={classes.iconWrapperForStrokedSvg} style={{transform: 'scale(0.85)'}}>\r\n <svg width={width} height={height} viewBox=\"0 0 35 34\" fill={'white'} xmlns=\"http://www.w3.org/2000/svg\">\r\n <path className={clsx(classes.svgPath, customClasses?.path)} d=\"M3.33203 16.9995V21.2495C3.33203 28.3329 6.16537 31.1662 13.2487 31.1662H21.7487C28.832 31.1662 31.6654 28.3329 31.6654 21.2495V12.7495C31.6654 8.32952 30.5604 5.55285 27.9962 4.10785C27.2737 3.69702 25.8287 3.38535 24.5112 3.17285M18.9154 18.4162H25.9987M16.082 24.0829H25.9987\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n <path className={clsx(classes.svgPath, customClasses?.path)} d=\"M5.18359 7.94727V11.1277C5.18359 14.3081 6.62859 15.5831 10.2331 15.5831H14.56C18.1645 15.5831 19.6095 14.3081 19.6095 11.1277V7.94727\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n <path className={clsx(classes.svgPath, customClasses?.path)} d=\"M12.3978 8.50033C13.8669 8.50033 14.9507 7.44491 14.8062 6.14866L14.2763 1.41699H10.5274L9.98949 6.14866C9.84499 7.44491 10.9287 8.50033 12.3978 8.50033Z\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n <path className={clsx(classes.svgPath, customClasses?.path)} d=\"M17.4638 8.50033C19.0854 8.50033 20.2735 7.33866 20.113 5.91491L19.8882 3.96699C19.5992 2.12533 18.7964 1.41699 16.6931 1.41699H14.2447L14.8066 6.38241C14.9431 7.55116 16.1392 8.50033 17.4638 8.50033ZM7.29261 8.50033C8.61719 8.50033 9.81333 7.55116 9.94178 6.38241L10.1184 4.81699L10.5037 1.41699H8.05525C5.95197 1.41699 5.14919 2.12533 4.86019 3.96699L4.64344 5.91491C4.48289 7.33866 5.671 8.50033 7.29261 8.50033ZM12.3983 12.042C11.0576 12.042 10.3913 12.6299 10.3913 13.8128V15.5837H14.4052V13.8128C14.4052 12.6299 13.7389 12.042 12.3983 12.042Z\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n )\r\n}"]}
@@ -0,0 +1,2 @@
1
+ import { IconProps } from "../@types/iconProps";
2
+ export declare const PromoteIcon: ({ width, height, customClasses }: IconProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import classes from "./styles.module.css";
3
+ import clsx from "clsx";
4
+ export const PromoteIcon = ({ width, height, customClasses }) => {
5
+ return (_jsx("div", Object.assign({ className: classes.iconWrapper }, { children: _jsx("span", Object.assign({ className: clsx("material-symbols-outlined", classes.materialIcon, customClasses === null || customClasses === void 0 ? void 0 : customClasses.svg) }, { children: "upload" })) })));
6
+ };
7
+ //# sourceMappingURL=PromoteIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PromoteIcon.js","sourceRoot":"","sources":["../../src/icons/PromoteIcon.tsx"],"names":[],"mappings":";AACA,OAAO,OAAO,MAAM,qBAAqB,CAAA;AACzC,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAY,EAAE,EAAE;IACrE,OAAO,CACH,4BAAK,SAAS,EAAE,OAAO,CAAC,WAAW,gBAC/B,6BAAM,SAAS,EAAE,IAAI,CAAC,2BAA2B,EAAE,OAAO,CAAC,YAAY,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,GAAG,CAAC,4BAErF,IACL,CACT,CAAA;AACL,CAAC,CAAC","sourcesContent":["import React from \"react\";\r\nimport classes from \"./styles.module.css\"\r\nimport clsx from \"clsx\";\r\nimport {IconProps} from \"../@types/iconProps\";\r\n\r\nexport const PromoteIcon = ({width, height, customClasses}: IconProps) => {\r\n return (\r\n <div className={classes.iconWrapper}>\r\n <span className={clsx(\"material-symbols-outlined\", classes.materialIcon, customClasses?.svg)}>\r\n upload\r\n </span>\r\n </div>\r\n )\r\n};\r\n\r\n\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { IconProps } from "../@types/iconProps";
2
+ export declare const RemoveIcon: ({ width, height, customClasses }: IconProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import classes from "./styles.module.css";
3
+ import clsx from "clsx";
4
+ export const RemoveIcon = ({ width, height, customClasses }) => {
5
+ return (_jsx("div", Object.assign({ className: classes.iconWrapper }, { children: _jsx("span", Object.assign({ className: clsx("material-symbols-outlined", classes.materialIcon, customClasses === null || customClasses === void 0 ? void 0 : customClasses.svg) }, { children: "delete" })) })));
6
+ };
7
+ //# sourceMappingURL=RemoveIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RemoveIcon.js","sourceRoot":"","sources":["../../src/icons/RemoveIcon.tsx"],"names":[],"mappings":";AACA,OAAO,OAAO,MAAM,qBAAqB,CAAA;AACzC,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAY,EAAE,EAAE;IACpE,OAAO,CACH,4BAAK,SAAS,EAAE,OAAO,CAAC,WAAW,gBAC/B,6BAAM,SAAS,EAAE,IAAI,CAAC,2BAA2B,EAAE,OAAO,CAAC,YAAY,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,GAAG,CAAC,4BAErF,IACL,CACT,CAAA;AACL,CAAC,CAAA","sourcesContent":["import React from \"react\";\r\nimport classes from \"./styles.module.css\"\r\nimport clsx from \"clsx\";\r\nimport {IconProps} from \"../@types/iconProps\";\r\n\r\nexport const RemoveIcon = ({width, height, customClasses}: IconProps) => {\r\n return (\r\n <div className={classes.iconWrapper}>\r\n <span className={clsx(\"material-symbols-outlined\", classes.materialIcon, customClasses?.svg)}>\r\n delete\r\n </span>\r\n </div>\r\n )\r\n}"]}
@@ -0,0 +1,2 @@
1
+ import { IconProps } from "../@types/iconProps";
2
+ export declare const RestoreIcon: ({ width, height, customClasses }: IconProps) => import("react/jsx-runtime").JSX.Element;