@fast-simon/dashboard-utilities 1.0.1

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 (272) hide show
  1. package/dist/components/BackOfficeFiltersMenu/styles.module.css +10 -0
  2. package/dist/components/CheckboxFilter/Checkbox/styles.module.css +143 -0
  3. package/dist/components/CheckboxFilter/styles.module.css +5 -0
  4. package/dist/components/DragAndDrop/styles.module.css +21 -0
  5. package/dist/components/FacetItem/styles.module.css +55 -0
  6. package/dist/components/FromToFilter/From/styles.module.css +9 -0
  7. package/dist/components/FromToFilter/To/styles.module.css +9 -0
  8. package/dist/components/FromToFilter/styles.module.css +34 -0
  9. package/dist/components/InStoreFiltersMenu/styles.module.css +10 -0
  10. package/dist/components/Input/styles.module.css +3 -0
  11. package/dist/components/LastReceivedDateFilter/styles.module.css +41 -0
  12. package/dist/components/RadioFilter/Radio/styles.module.css +145 -0
  13. package/dist/components/RadioFilter/styles.module.css +23 -0
  14. package/dist/components/ReactDatePicker/styles.module.css +3 -0
  15. package/dist/components/SingleFilter/styles.module.css +23 -0
  16. package/dist/components/SliderFilter/styles.module.css +16 -0
  17. package/dist/components/Tooltip/styles.module.css +34 -0
  18. package/dist/components/productGrid/styles.module.css +23 -0
  19. package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ActionsBar/ActionItem.d.ts +10 -0
  20. package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ActionsBar/ActionItem.js +17 -0
  21. package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ActionsBar/ActionItem.js.map +1 -0
  22. package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ActionsBar/ActionsBar.d.ts +14 -0
  23. package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ActionsBar/ActionsBar.js +14 -0
  24. package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ActionsBar/ActionsBar.js.map +1 -0
  25. package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ActionsBar/utils.d.ts +16 -0
  26. package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ActionsBar/utils.js +61 -0
  27. package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ActionsBar/utils.js.map +1 -0
  28. package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/Positioning/Positioning.d.ts +6 -0
  29. package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/Positioning/Positioning.js +52 -0
  30. package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/Positioning/Positioning.js.map +1 -0
  31. package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/Positioning/index.d.ts +1 -0
  32. package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/Positioning/index.js +2 -0
  33. package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/Positioning/index.js.map +1 -0
  34. package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ProductCard/ProductCard.d.ts +24 -0
  35. package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ProductCard/ProductCard.js +88 -0
  36. package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ProductCard/ProductCard.js.map +1 -0
  37. package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ProductCard/components/ProductLabel/ProductLabel.d.ts +11 -0
  38. package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ProductCard/components/ProductLabel/ProductLabel.js +11 -0
  39. package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ProductCard/components/ProductLabel/ProductLabel.js.map +1 -0
  40. package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ProductCard/components/ProductLabel/utils.d.ts +8 -0
  41. package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ProductCard/components/ProductLabel/utils.js +9 -0
  42. package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ProductCard/components/ProductLabel/utils.js.map +1 -0
  43. package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ProductCard/utils.d.ts +1 -0
  44. package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ProductCard/utils.js +2 -0
  45. package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ProductCard/utils.js.map +1 -0
  46. package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/SelectCard/SelectCard.d.ts +5 -0
  47. package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/SelectCard/SelectCard.js +8 -0
  48. package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/SelectCard/SelectCard.js.map +1 -0
  49. package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/context/visualEditorContext.d.ts +66 -0
  50. package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/context/visualEditorContext.js +54 -0
  51. package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/context/visualEditorContext.js.map +1 -0
  52. package/dist/frontends/dashboard-utilities/src/@types/banner.d.ts +7 -0
  53. package/dist/frontends/dashboard-utilities/src/@types/banner.js +2 -0
  54. package/dist/frontends/dashboard-utilities/src/@types/banner.js.map +1 -0
  55. package/dist/frontends/dashboard-utilities/src/@types/categories.d.ts +16 -0
  56. package/dist/frontends/dashboard-utilities/src/@types/categories.js +2 -0
  57. package/dist/frontends/dashboard-utilities/src/@types/categories.js.map +1 -0
  58. package/dist/frontends/dashboard-utilities/src/@types/currency.d.ts +1 -0
  59. package/dist/frontends/dashboard-utilities/src/@types/currency.js +2 -0
  60. package/dist/frontends/dashboard-utilities/src/@types/currency.js.map +1 -0
  61. package/dist/frontends/dashboard-utilities/src/@types/editorProduct.d.ts +26 -0
  62. package/dist/frontends/dashboard-utilities/src/@types/editorProduct.js +6 -0
  63. package/dist/frontends/dashboard-utilities/src/@types/editorProduct.js.map +1 -0
  64. package/dist/frontends/dashboard-utilities/src/@types/facets.d.ts +45 -0
  65. package/dist/frontends/dashboard-utilities/src/@types/facets.js +19 -0
  66. package/dist/frontends/dashboard-utilities/src/@types/facets.js.map +1 -0
  67. package/dist/frontends/dashboard-utilities/src/@types/iconProps.d.ts +9 -0
  68. package/dist/frontends/dashboard-utilities/src/@types/iconProps.js +2 -0
  69. package/dist/frontends/dashboard-utilities/src/@types/iconProps.js.map +1 -0
  70. package/dist/frontends/dashboard-utilities/src/@types/narrow.d.ts +7 -0
  71. package/dist/frontends/dashboard-utilities/src/@types/narrow.js +2 -0
  72. package/dist/frontends/dashboard-utilities/src/@types/narrow.js.map +1 -0
  73. package/dist/frontends/dashboard-utilities/src/@types/product.d.ts +158 -0
  74. package/dist/frontends/dashboard-utilities/src/@types/product.js +8 -0
  75. package/dist/frontends/dashboard-utilities/src/@types/product.js.map +1 -0
  76. package/dist/frontends/dashboard-utilities/src/@types/productLabel.d.ts +1 -0
  77. package/dist/frontends/dashboard-utilities/src/@types/productLabel.js +2 -0
  78. package/dist/frontends/dashboard-utilities/src/@types/productLabel.js.map +1 -0
  79. package/dist/frontends/dashboard-utilities/src/@types/promoTile.d.ts +11 -0
  80. package/dist/frontends/dashboard-utilities/src/@types/promoTile.js +2 -0
  81. package/dist/frontends/dashboard-utilities/src/@types/promoTile.js.map +1 -0
  82. package/dist/frontends/dashboard-utilities/src/@types/results.d.ts +43 -0
  83. package/dist/frontends/dashboard-utilities/src/@types/results.js +2 -0
  84. package/dist/frontends/dashboard-utilities/src/@types/results.js.map +1 -0
  85. package/dist/frontends/dashboard-utilities/src/@types/sideMenu.d.ts +19 -0
  86. package/dist/frontends/dashboard-utilities/src/@types/sideMenu.js +2 -0
  87. package/dist/frontends/dashboard-utilities/src/@types/sideMenu.js.map +1 -0
  88. package/dist/frontends/dashboard-utilities/src/@types/sortBy.d.ts +3 -0
  89. package/dist/frontends/dashboard-utilities/src/@types/sortBy.js +2 -0
  90. package/dist/frontends/dashboard-utilities/src/@types/sortBy.js.map +1 -0
  91. package/dist/frontends/dashboard-utilities/src/App.d.ts +3 -0
  92. package/dist/frontends/dashboard-utilities/src/App.js +16 -0
  93. package/dist/frontends/dashboard-utilities/src/App.js.map +1 -0
  94. package/dist/frontends/dashboard-utilities/src/components/BackOfficeFiltersMenu/BackOfficeFiltersMenu.d.ts +9 -0
  95. package/dist/frontends/dashboard-utilities/src/components/BackOfficeFiltersMenu/BackOfficeFiltersMenu.js +74 -0
  96. package/dist/frontends/dashboard-utilities/src/components/BackOfficeFiltersMenu/BackOfficeFiltersMenu.js.map +1 -0
  97. package/dist/frontends/dashboard-utilities/src/components/BackOfficeFiltersMenu/index.d.ts +1 -0
  98. package/dist/frontends/dashboard-utilities/src/components/BackOfficeFiltersMenu/index.js +2 -0
  99. package/dist/frontends/dashboard-utilities/src/components/BackOfficeFiltersMenu/index.js.map +1 -0
  100. package/dist/frontends/dashboard-utilities/src/components/BackOfficeFiltersMenu/utils.d.ts +7 -0
  101. package/dist/frontends/dashboard-utilities/src/components/BackOfficeFiltersMenu/utils.js +239 -0
  102. package/dist/frontends/dashboard-utilities/src/components/BackOfficeFiltersMenu/utils.js.map +1 -0
  103. package/dist/frontends/dashboard-utilities/src/components/CheckboxFilter/Checkbox/Checkbox.d.ts +10 -0
  104. package/dist/frontends/dashboard-utilities/src/components/CheckboxFilter/Checkbox/Checkbox.js +7 -0
  105. package/dist/frontends/dashboard-utilities/src/components/CheckboxFilter/Checkbox/Checkbox.js.map +1 -0
  106. package/dist/frontends/dashboard-utilities/src/components/CheckboxFilter/CheckboxFilter.d.ts +6 -0
  107. package/dist/frontends/dashboard-utilities/src/components/CheckboxFilter/CheckboxFilter.js +9 -0
  108. package/dist/frontends/dashboard-utilities/src/components/CheckboxFilter/CheckboxFilter.js.map +1 -0
  109. package/dist/frontends/dashboard-utilities/src/components/DragAndDrop/DndContextWrapper.d.ts +20 -0
  110. package/dist/frontends/dashboard-utilities/src/components/DragAndDrop/DndContextWrapper.js +33 -0
  111. package/dist/frontends/dashboard-utilities/src/components/DragAndDrop/DndContextWrapper.js.map +1 -0
  112. package/dist/frontends/dashboard-utilities/src/components/DragAndDrop/Droppable.d.ts +7 -0
  113. package/dist/frontends/dashboard-utilities/src/components/DragAndDrop/Droppable.js +10 -0
  114. package/dist/frontends/dashboard-utilities/src/components/DragAndDrop/Droppable.js.map +1 -0
  115. package/dist/frontends/dashboard-utilities/src/components/DragAndDrop/SortableItem.d.ts +13 -0
  116. package/dist/frontends/dashboard-utilities/src/components/DragAndDrop/SortableItem.js +39 -0
  117. package/dist/frontends/dashboard-utilities/src/components/DragAndDrop/SortableItem.js.map +1 -0
  118. package/dist/frontends/dashboard-utilities/src/components/FacetItem/FacetItem.d.ts +13 -0
  119. package/dist/frontends/dashboard-utilities/src/components/FacetItem/FacetItem.js +40 -0
  120. package/dist/frontends/dashboard-utilities/src/components/FacetItem/FacetItem.js.map +1 -0
  121. package/dist/frontends/dashboard-utilities/src/components/FastSimonApi/FastSimonApi.d.ts +31 -0
  122. package/dist/frontends/dashboard-utilities/src/components/FastSimonApi/FastSimonApi.js +398 -0
  123. package/dist/frontends/dashboard-utilities/src/components/FastSimonApi/FastSimonApi.js.map +1 -0
  124. package/dist/frontends/dashboard-utilities/src/components/FastSimonApi/context.d.ts +50 -0
  125. package/dist/frontends/dashboard-utilities/src/components/FastSimonApi/context.js +10 -0
  126. package/dist/frontends/dashboard-utilities/src/components/FastSimonApi/context.js.map +1 -0
  127. package/dist/frontends/dashboard-utilities/src/components/FastSimonApi/index.d.ts +3 -0
  128. package/dist/frontends/dashboard-utilities/src/components/FastSimonApi/index.js +3 -0
  129. package/dist/frontends/dashboard-utilities/src/components/FastSimonApi/index.js.map +1 -0
  130. package/dist/frontends/dashboard-utilities/src/components/FastSimonApi/reducer.d.ts +172 -0
  131. package/dist/frontends/dashboard-utilities/src/components/FastSimonApi/reducer.js +67 -0
  132. package/dist/frontends/dashboard-utilities/src/components/FastSimonApi/reducer.js.map +1 -0
  133. package/dist/frontends/dashboard-utilities/src/components/FromToFilter/From/From.d.ts +17 -0
  134. package/dist/frontends/dashboard-utilities/src/components/FromToFilter/From/From.js +22 -0
  135. package/dist/frontends/dashboard-utilities/src/components/FromToFilter/From/From.js.map +1 -0
  136. package/dist/frontends/dashboard-utilities/src/components/FromToFilter/FromToFilter.d.ts +14 -0
  137. package/dist/frontends/dashboard-utilities/src/components/FromToFilter/FromToFilter.js +58 -0
  138. package/dist/frontends/dashboard-utilities/src/components/FromToFilter/FromToFilter.js.map +1 -0
  139. package/dist/frontends/dashboard-utilities/src/components/FromToFilter/To/To.d.ts +18 -0
  140. package/dist/frontends/dashboard-utilities/src/components/FromToFilter/To/To.js +23 -0
  141. package/dist/frontends/dashboard-utilities/src/components/FromToFilter/To/To.js.map +1 -0
  142. package/dist/frontends/dashboard-utilities/src/components/FromToFilter/utils.d.ts +25 -0
  143. package/dist/frontends/dashboard-utilities/src/components/FromToFilter/utils.js +7 -0
  144. package/dist/frontends/dashboard-utilities/src/components/FromToFilter/utils.js.map +1 -0
  145. package/dist/frontends/dashboard-utilities/src/components/InStoreFiltersMenu/InStoreFiltersMenu.d.ts +10 -0
  146. package/dist/frontends/dashboard-utilities/src/components/InStoreFiltersMenu/InStoreFiltersMenu.js +34 -0
  147. package/dist/frontends/dashboard-utilities/src/components/InStoreFiltersMenu/InStoreFiltersMenu.js.map +1 -0
  148. package/dist/frontends/dashboard-utilities/src/components/InStoreFiltersMenu/index.d.ts +1 -0
  149. package/dist/frontends/dashboard-utilities/src/components/InStoreFiltersMenu/index.js +2 -0
  150. package/dist/frontends/dashboard-utilities/src/components/InStoreFiltersMenu/index.js.map +1 -0
  151. package/dist/frontends/dashboard-utilities/src/components/Input/Input.d.ts +22 -0
  152. package/dist/frontends/dashboard-utilities/src/components/Input/Input.js +49 -0
  153. package/dist/frontends/dashboard-utilities/src/components/Input/Input.js.map +1 -0
  154. package/dist/frontends/dashboard-utilities/src/components/Input/index.d.ts +1 -0
  155. package/dist/frontends/dashboard-utilities/src/components/Input/index.js +2 -0
  156. package/dist/frontends/dashboard-utilities/src/components/Input/index.js.map +1 -0
  157. package/dist/frontends/dashboard-utilities/src/components/LastReceivedDateFilter/LastReceivedDate.d.ts +9 -0
  158. package/dist/frontends/dashboard-utilities/src/components/LastReceivedDateFilter/LastReceivedDate.js +88 -0
  159. package/dist/frontends/dashboard-utilities/src/components/LastReceivedDateFilter/LastReceivedDate.js.map +1 -0
  160. package/dist/frontends/dashboard-utilities/src/components/LastReceivedDateFilter/utils.d.ts +3 -0
  161. package/dist/frontends/dashboard-utilities/src/components/LastReceivedDateFilter/utils.js +43 -0
  162. package/dist/frontends/dashboard-utilities/src/components/LastReceivedDateFilter/utils.js.map +1 -0
  163. package/dist/frontends/dashboard-utilities/src/components/RadioFilter/Radio/Radio.d.ts +10 -0
  164. package/dist/frontends/dashboard-utilities/src/components/RadioFilter/Radio/Radio.js +7 -0
  165. package/dist/frontends/dashboard-utilities/src/components/RadioFilter/Radio/Radio.js.map +1 -0
  166. package/dist/frontends/dashboard-utilities/src/components/RadioFilter/RadioFilter.d.ts +9 -0
  167. package/dist/frontends/dashboard-utilities/src/components/RadioFilter/RadioFilter.js +45 -0
  168. package/dist/frontends/dashboard-utilities/src/components/RadioFilter/RadioFilter.js.map +1 -0
  169. package/dist/frontends/dashboard-utilities/src/components/RadioFilter/utils.d.ts +1 -0
  170. package/dist/frontends/dashboard-utilities/src/components/RadioFilter/utils.js +8 -0
  171. package/dist/frontends/dashboard-utilities/src/components/RadioFilter/utils.js.map +1 -0
  172. package/dist/frontends/dashboard-utilities/src/components/ReactDatePicker/ReactDatePicker.d.ts +11 -0
  173. package/dist/frontends/dashboard-utilities/src/components/ReactDatePicker/ReactDatePicker.js +16 -0
  174. package/dist/frontends/dashboard-utilities/src/components/ReactDatePicker/ReactDatePicker.js.map +1 -0
  175. package/dist/frontends/dashboard-utilities/src/components/ReactDatePicker/index.d.ts +1 -0
  176. package/dist/frontends/dashboard-utilities/src/components/ReactDatePicker/index.js +2 -0
  177. package/dist/frontends/dashboard-utilities/src/components/ReactDatePicker/index.js.map +1 -0
  178. package/dist/frontends/dashboard-utilities/src/components/RenderIfVisible/RenderIfVisible.d.ts +12 -0
  179. package/dist/frontends/dashboard-utilities/src/components/RenderIfVisible/RenderIfVisible.js +59 -0
  180. package/dist/frontends/dashboard-utilities/src/components/RenderIfVisible/RenderIfVisible.js.map +1 -0
  181. package/dist/frontends/dashboard-utilities/src/components/RenderIfVisible/index.d.ts +1 -0
  182. package/dist/frontends/dashboard-utilities/src/components/RenderIfVisible/index.js +2 -0
  183. package/dist/frontends/dashboard-utilities/src/components/RenderIfVisible/index.js.map +1 -0
  184. package/dist/frontends/dashboard-utilities/src/components/SingleFilter/SingleFilter.d.ts +11 -0
  185. package/dist/frontends/dashboard-utilities/src/components/SingleFilter/SingleFilter.js +90 -0
  186. package/dist/frontends/dashboard-utilities/src/components/SingleFilter/SingleFilter.js.map +1 -0
  187. package/dist/frontends/dashboard-utilities/src/components/SingleFilter/utils.d.ts +3 -0
  188. package/dist/frontends/dashboard-utilities/src/components/SingleFilter/utils.js +42 -0
  189. package/dist/frontends/dashboard-utilities/src/components/SingleFilter/utils.js.map +1 -0
  190. package/dist/frontends/dashboard-utilities/src/components/SliderFilter/SliderFilter.d.ts +20 -0
  191. package/dist/frontends/dashboard-utilities/src/components/SliderFilter/SliderFilter.js +45 -0
  192. package/dist/frontends/dashboard-utilities/src/components/SliderFilter/SliderFilter.js.map +1 -0
  193. package/dist/frontends/dashboard-utilities/src/components/SliderFilter/index.d.ts +1 -0
  194. package/dist/frontends/dashboard-utilities/src/components/SliderFilter/index.js +2 -0
  195. package/dist/frontends/dashboard-utilities/src/components/SliderFilter/index.js.map +1 -0
  196. package/dist/frontends/dashboard-utilities/src/components/Tooltip/Tooltip.d.ts +8 -0
  197. package/dist/frontends/dashboard-utilities/src/components/Tooltip/Tooltip.js +9 -0
  198. package/dist/frontends/dashboard-utilities/src/components/Tooltip/Tooltip.js.map +1 -0
  199. package/dist/frontends/dashboard-utilities/src/components/common.d.ts +34 -0
  200. package/dist/frontends/dashboard-utilities/src/components/common.js +80 -0
  201. package/dist/frontends/dashboard-utilities/src/components/common.js.map +1 -0
  202. package/dist/frontends/dashboard-utilities/src/components/productGrid/ProductGrid.d.ts +6 -0
  203. package/dist/frontends/dashboard-utilities/src/components/productGrid/ProductGrid.js +11 -0
  204. package/dist/frontends/dashboard-utilities/src/components/productGrid/ProductGrid.js.map +1 -0
  205. package/dist/frontends/dashboard-utilities/src/components/productGrid/index.d.ts +1 -0
  206. package/dist/frontends/dashboard-utilities/src/components/productGrid/index.js +2 -0
  207. package/dist/frontends/dashboard-utilities/src/components/productGrid/index.js.map +1 -0
  208. package/dist/frontends/dashboard-utilities/src/icons/BackOfficeFiltersIcon.d.ts +2 -0
  209. package/dist/frontends/dashboard-utilities/src/icons/BackOfficeFiltersIcon.js +7 -0
  210. package/dist/frontends/dashboard-utilities/src/icons/BackOfficeFiltersIcon.js.map +1 -0
  211. package/dist/frontends/dashboard-utilities/src/icons/BannersIcon.d.ts +2 -0
  212. package/dist/frontends/dashboard-utilities/src/icons/BannersIcon.js +7 -0
  213. package/dist/frontends/dashboard-utilities/src/icons/BannersIcon.js.map +1 -0
  214. package/dist/frontends/dashboard-utilities/src/icons/BuriedIcon.d.ts +2 -0
  215. package/dist/frontends/dashboard-utilities/src/icons/BuriedIcon.js +7 -0
  216. package/dist/frontends/dashboard-utilities/src/icons/BuriedIcon.js.map +1 -0
  217. package/dist/frontends/dashboard-utilities/src/icons/CutIcon.d.ts +2 -0
  218. package/dist/frontends/dashboard-utilities/src/icons/CutIcon.js +7 -0
  219. package/dist/frontends/dashboard-utilities/src/icons/CutIcon.js.map +1 -0
  220. package/dist/frontends/dashboard-utilities/src/icons/HelpIcon.d.ts +7 -0
  221. package/dist/frontends/dashboard-utilities/src/icons/HelpIcon.js +5 -0
  222. package/dist/frontends/dashboard-utilities/src/icons/HelpIcon.js.map +1 -0
  223. package/dist/frontends/dashboard-utilities/src/icons/HiddenIcon.d.ts +2 -0
  224. package/dist/frontends/dashboard-utilities/src/icons/HiddenIcon.js +7 -0
  225. package/dist/frontends/dashboard-utilities/src/icons/HiddenIcon.js.map +1 -0
  226. package/dist/frontends/dashboard-utilities/src/icons/InStoreFiltersIcon.d.ts +2 -0
  227. package/dist/frontends/dashboard-utilities/src/icons/InStoreFiltersIcon.js +7 -0
  228. package/dist/frontends/dashboard-utilities/src/icons/InStoreFiltersIcon.js.map +1 -0
  229. package/dist/frontends/dashboard-utilities/src/icons/PinIcon.d.ts +2 -0
  230. package/dist/frontends/dashboard-utilities/src/icons/PinIcon.js +7 -0
  231. package/dist/frontends/dashboard-utilities/src/icons/PinIcon.js.map +1 -0
  232. package/dist/frontends/dashboard-utilities/src/icons/PositionIcon.d.ts +2 -0
  233. package/dist/frontends/dashboard-utilities/src/icons/PositionIcon.js +7 -0
  234. package/dist/frontends/dashboard-utilities/src/icons/PositionIcon.js.map +1 -0
  235. package/dist/frontends/dashboard-utilities/src/icons/PromoteIcon.d.ts +2 -0
  236. package/dist/frontends/dashboard-utilities/src/icons/PromoteIcon.js +7 -0
  237. package/dist/frontends/dashboard-utilities/src/icons/PromoteIcon.js.map +1 -0
  238. package/dist/frontends/dashboard-utilities/src/icons/RemoveIcon.d.ts +2 -0
  239. package/dist/frontends/dashboard-utilities/src/icons/RemoveIcon.js +7 -0
  240. package/dist/frontends/dashboard-utilities/src/icons/RemoveIcon.js.map +1 -0
  241. package/dist/frontends/dashboard-utilities/src/icons/RestoreIcon.d.ts +2 -0
  242. package/dist/frontends/dashboard-utilities/src/icons/RestoreIcon.js +7 -0
  243. package/dist/frontends/dashboard-utilities/src/icons/RestoreIcon.js.map +1 -0
  244. package/dist/frontends/dashboard-utilities/src/main.d.ts +1 -0
  245. package/dist/frontends/dashboard-utilities/src/main.js +6 -0
  246. package/dist/frontends/dashboard-utilities/src/main.js.map +1 -0
  247. package/dist/frontends/dashboard-utilities/src/services/API.d.ts +21 -0
  248. package/dist/frontends/dashboard-utilities/src/services/API.js +50 -0
  249. package/dist/frontends/dashboard-utilities/src/services/API.js.map +1 -0
  250. package/dist/frontends/dashboard-utilities/src/services/landingPage.d.ts +28 -0
  251. package/dist/frontends/dashboard-utilities/src/services/landingPage.js +153 -0
  252. package/dist/frontends/dashboard-utilities/src/services/landingPage.js.map +1 -0
  253. package/dist/frontends/dashboard-utilities/src/utils/customTagsFilters.d.ts +4 -0
  254. package/dist/frontends/dashboard-utilities/src/utils/customTagsFilters.js +10 -0
  255. package/dist/frontends/dashboard-utilities/src/utils/customTagsFilters.js.map +1 -0
  256. package/dist/frontends/dashboard-utilities/src/utils/fixPinnedPositions.d.ts +4 -0
  257. package/dist/frontends/dashboard-utilities/src/utils/fixPinnedPositions.js +27 -0
  258. package/dist/frontends/dashboard-utilities/src/utils/fixPinnedPositions.js.map +1 -0
  259. package/dist/frontends/dashboard-utilities/src/utils/narrow.d.ts +18 -0
  260. package/dist/frontends/dashboard-utilities/src/utils/narrow.js +101 -0
  261. package/dist/frontends/dashboard-utilities/src/utils/narrow.js.map +1 -0
  262. package/dist/frontends/dashboard-utilities/src/utils/products.d.ts +30 -0
  263. package/dist/frontends/dashboard-utilities/src/utils/products.js +39 -0
  264. package/dist/frontends/dashboard-utilities/src/utils/products.js.map +1 -0
  265. package/dist/frontends/dashboard-utilities/src/utils/shopifyMarkets.d.ts +3 -0
  266. package/dist/frontends/dashboard-utilities/src/utils/shopifyMarkets.js +7 -0
  267. package/dist/frontends/dashboard-utilities/src/utils/shopifyMarkets.js.map +1 -0
  268. package/dist/frontends/dashboard-utilities/src/utils/useDragToSelect.d.ts +13 -0
  269. package/dist/frontends/dashboard-utilities/src/utils/useDragToSelect.js +177 -0
  270. package/dist/frontends/dashboard-utilities/src/utils/useDragToSelect.js.map +1 -0
  271. package/dist/icons/styles.module.css +61 -0
  272. package/package.json +65 -0
@@ -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 PinIcon: ({ 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 PinIcon = ({ width, height, customClasses }) => {
5
+ return (_jsx("div", Object.assign({ className: classes.iconWrapper, style: { transform: 'rotate(35deg)' } }, { children: _jsx("span", Object.assign({ className: clsx("material-symbols-outlined", classes.materialIcon, customClasses === null || customClasses === void 0 ? void 0 : customClasses.svg) }, { children: "push_pin" })) })));
6
+ };
7
+ //# sourceMappingURL=PinIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PinIcon.js","sourceRoot":"","sources":["../../../../../src/icons/PinIcon.tsx"],"names":[],"mappings":";AACA,OAAO,OAAO,MAAM,qBAAqB,CAAA;AACzC,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAY,EAAE,EAAE;IACjE,OAAO,CACH,4BAAK,SAAS,EAAE,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,EAAC,SAAS,EAAE,eAAe,EAAC,gBACpE,6BAAM,SAAS,EAAE,IAAI,CAAC,2BAA2B,EAAE,OAAO,CAAC,YAAY,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,GAAG,CAAC,8BAErF,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 PinIcon = ({width, height, customClasses}: IconProps) => {\r\n return (\r\n <div className={classes.iconWrapper} style={{transform: 'rotate(35deg)'}}>\r\n <span className={clsx(\"material-symbols-outlined\", classes.materialIcon, customClasses?.svg)}>\r\n push_pin\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 PositionIcon: ({ 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 PositionIcon = ({ 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: "move" })) })));
6
+ };
7
+ //# sourceMappingURL=PositionIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PositionIcon.js","sourceRoot":"","sources":["../../../../../src/icons/PositionIcon.tsx"],"names":[],"mappings":";AACA,OAAO,OAAO,MAAM,qBAAqB,CAAA;AACzC,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAY,EAAE,EAAE;IAEtE,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,0BAErF,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 PositionIcon = ({width, height, customClasses}: IconProps) => {\r\n\r\n return (\r\n <div className={classes.iconWrapper}>\r\n <span className={clsx(\"material-symbols-outlined\", classes.materialIcon, customClasses?.svg)}>\r\n move\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 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;
@@ -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 RestoreIcon = ({ 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: "restart_alt" })) })));
6
+ };
7
+ //# sourceMappingURL=RestoreIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RestoreIcon.js","sourceRoot":"","sources":["../../../../../src/icons/RestoreIcon.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,iCAErF,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 RestoreIcon = ({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 restart_alt\r\n </span>\r\n </div>\r\n )\r\n}\r\n\r\n\r\n"]}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from "react";
3
+ import ReactDOM from "react-dom";
4
+ import App from "./App";
5
+ ReactDOM.render(_jsx(React.StrictMode, { children: _jsx(App, {}) }), document.getElementById('root'));
6
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../../src/main.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,GAAG,MAAM,OAAO,CAAC;AAExB,QAAQ,CAAC,MAAM,CACb,KAAC,KAAK,CAAC,UAAU,cACb,KAAC,GAAG,KAAG,GACQ,EACnB,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAChC,CAAA","sourcesContent":["import React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport App from \"./App\";\r\n\r\nReactDOM.render(\r\n <React.StrictMode>\r\n <App />\r\n </React.StrictMode>,\r\n document.getElementById('root')\r\n)\r\n"]}
@@ -0,0 +1,21 @@
1
+ import { AxiosRequestConfig } from "axios";
2
+ interface Params {
3
+ [key: string]: string | number | object | undefined | boolean;
4
+ }
5
+ interface GetProps {
6
+ url: string;
7
+ params: Params;
8
+ config?: AxiosRequestConfig;
9
+ }
10
+ interface PostProps {
11
+ url: string;
12
+ data?: Params;
13
+ config?: AxiosRequestConfig;
14
+ }
15
+ export declare const API: {
16
+ get: <T>({ url, params, config }: GetProps) => Promise<T>;
17
+ post: <T_1>({ url, config, data }: PostProps) => Promise<T_1>;
18
+ };
19
+ export declare const parseUrl: (url: string) => string;
20
+ export declare function fastSimonGet<T>(endpoint: string, path: string, params?: Params): Promise<T>;
21
+ export {};
@@ -0,0 +1,50 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import axios from "axios";
11
+ export const API = {
12
+ get: function ({ url, params, config }) {
13
+ return __awaiter(this, void 0, void 0, function* () {
14
+ const response = yield fetch(url + `?${Object.entries(params).filter(param => param[1]).map((param) => `${param[0]}=${param[1]}`).join('&')}`);
15
+ return yield response.json();
16
+ });
17
+ },
18
+ post: function ({ url, config, data }) {
19
+ return __awaiter(this, void 0, void 0, function* () {
20
+ const instance = axios.create({
21
+ baseURL: url,
22
+ data: data
23
+ });
24
+ if ('Session' in instance.defaults.headers) {
25
+ delete (instance.defaults.headers['Session']);
26
+ }
27
+ if ('SiteKey' in instance.defaults.headers) {
28
+ delete (instance.defaults.headers['SiteKey']);
29
+ }
30
+ const response = yield instance.post(url, data, config);
31
+ return response.data;
32
+ });
33
+ },
34
+ };
35
+ export const parseUrl = (url) => {
36
+ const fixed = url.replace("https://", "").replace("http://", "");
37
+ if (fixed[fixed.length - 1] === "/") {
38
+ return fixed.slice(0, fixed.length - 1);
39
+ }
40
+ return fixed;
41
+ };
42
+ export function fastSimonGet(endpoint, path, params) {
43
+ return __awaiter(this, void 0, void 0, function* () {
44
+ return yield API.get({
45
+ url: `${endpoint}/${path}`,
46
+ params: Object.assign({ src: "visual-editor" }, params)
47
+ });
48
+ });
49
+ }
50
+ //# sourceMappingURL=API.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"API.js","sourceRoot":"","sources":["../../../../../src/services/API.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAkBhD,MAAM,CAAC,MAAM,GAAG,GAAG;IACf,GAAG,EAAE,UAAmB,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAW;;YAEnD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAE/I,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACjC,CAAC;KAAA;IAED,IAAI,EAAE,UAAmB,EAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAY;;YACnD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC1B,OAAO,EAAE,GAAG;gBACZ,IAAI,EAAE,IAAI;aACb,CAAC,CAAC;YACH,IAAG,SAAS,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE;gBACvC,OAAO,CAAE,QAAQ,CAAC,QAAQ,CAAC,OAA+B,CAAC,SAAS,CAAC,CAAC,CAAC;aAC1E;YACD,IAAG,SAAS,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE;gBACvC,OAAO,CAAE,QAAQ,CAAC,QAAQ,CAAC,OAA+B,CAAC,SAAS,CAAC,CAAC,CAAC;aAC1E;YACD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAExD,OAAO,QAAQ,CAAC,IAAS,CAAC;QAC9B,CAAC;KAAA;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,EAAE;IACpC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACjE,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE;QACjC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;KAC1C;IACD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,UAAgB,YAAY,CAAI,QAAgB,EAAE,IAAY,EAAE,MAAe;;QACjF,OAAO,MAAM,GAAG,CAAC,GAAG,CAAI;YACpB,GAAG,EAAE,GAAG,QAAQ,IAAI,IAAI,EAAE;YAC1B,MAAM,kBACF,GAAG,EAAE,eAAe,IACjB,MAAM,CACZ;SACJ,CAAC,CAAA;IACN,CAAC;CAAA","sourcesContent":["import axios, {AxiosRequestConfig} from \"axios\";\r\n\r\ninterface Params {\r\n [key: string]: string | number | object | undefined | boolean\r\n}\r\n\r\ninterface GetProps {\r\n url: string,\r\n params: Params,\r\n config?: AxiosRequestConfig\r\n}\r\n\r\ninterface PostProps {\r\n url: string,\r\n data?: Params,\r\n config?: AxiosRequestConfig\r\n}\r\n\r\nexport const API = {\r\n get: async function <T>({url, params, config}: GetProps): Promise<T> {\r\n\r\n const response = await fetch(url + `?${Object.entries(params).filter(param => param[1]).map((param) => `${param[0]}=${param[1]}`).join('&')}`);\r\n\r\n return await response.json();\r\n },\r\n\r\n post: async function <T>({url, config, data}: PostProps) {\r\n const instance = axios.create({\r\n baseURL: url,\r\n data: data\r\n });\r\n if('Session' in instance.defaults.headers) {\r\n delete ((instance.defaults.headers as Record<string, any>)['Session']);\r\n }\r\n if('SiteKey' in instance.defaults.headers) {\r\n delete ((instance.defaults.headers as Record<string, any>)['SiteKey']);\r\n }\r\n const response = await instance.post(url, data, config);\r\n\r\n return response.data as T;\r\n },\r\n};\r\n\r\nexport const parseUrl = (url: string) => {\r\n const fixed = url.replace(\"https://\", \"\").replace(\"http://\", \"\");\r\n if (fixed[fixed.length - 1] === \"/\") {\r\n return fixed.slice(0, fixed.length - 1)\r\n }\r\n return fixed;\r\n};\r\n\r\nexport async function fastSimonGet<T>(endpoint: string, path: string, params?: Params) {\r\n return await API.get<T>({\r\n url: `${endpoint}/${path}`,\r\n params: {\r\n src: \"visual-editor\",\r\n ...params\r\n }\r\n })\r\n}"]}
@@ -0,0 +1,28 @@
1
+ import type { SortBy } from "../@types/sortBy";
2
+ import type { Narrow } from "../@types/narrow";
3
+ import { ServerFacet } from "@fast-simon/utilities";
4
+ import { EditorProduct } from "../@types/editorProduct";
5
+ interface LandingPageResponse {
6
+ items: EditorProduct[];
7
+ facets_completed: boolean;
8
+ narrow?: Narrow[];
9
+ p: number;
10
+ total_p: number;
11
+ isp_quick_view_mode: number;
12
+ related_results: boolean;
13
+ total_results: number;
14
+ lp_slug: string;
15
+ title: string;
16
+ facets: ServerFacet[];
17
+ sort_by: SortBy;
18
+ avoid_tag_prefixes?: string;
19
+ }
20
+ export declare const LandingPage: {
21
+ landingPage: ({ uuid, storeID, landingPage, page, sortBy, facets, narrow, productsPerPage, withProductAttributes, searchWithinResultsQuery, type, visualMerchandising, merchandisingRules, }: any) => Promise<{
22
+ data: LandingPageResponse;
23
+ getFacets: () => Promise<import("@fast-simon/utilities").Facet[]>;
24
+ }>;
25
+ landingPageFacetsOnly: ({ uuid, storeID, landingPage, page, narrow, type, productsPerPage, searchWithinResultsQuery, withProductAttributes, visualMerchandising, merchandisingRules, }: any) => Promise<import("@fast-simon/utilities").Facet[]>;
26
+ };
27
+ export declare const transformFacetsOnlyData: (r: ServerFacet[], avoidTagPrefixes?: string) => import("@fast-simon/utilities").Facet[];
28
+ export {};
@@ -0,0 +1,153 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { fastSimonGet } from "./API";
11
+ import { FacetsParser } from "@fast-simon/utilities";
12
+ // const BASE_URL = import.meta.env.VITE_SERVING_BASE_URL ?? "https://internal-v3joil6oqa-uc.a.run.app/search";
13
+ const BASE_URL = "https://yslp---internal-v3joil6oqa-uc.a.run.app/search";
14
+ export const LandingPage = {
15
+ landingPage: ({ uuid, storeID, landingPage, page = 1, sortBy = "relevency", facets = true, narrow, productsPerPage, withProductAttributes = undefined, searchWithinResultsQuery, type, // }: LandingPageRequest): Promise<LandingPageResponse> => {
16
+ // const narrowParm = narrow ? new NarrowParser().toServerNarrow(narrow) : undefined;
17
+ //
18
+ // const data = await fastSimonGet<LandingPageServerResponseAll>(BASE_URL, 'landing_page_editor', {
19
+ // UUID: uuid,
20
+ // store_id: storeID,
21
+ // facets_required: facets ? 1 : 0,
22
+ // products_per_page: productsPerPage,
23
+ // narrow: JSON.stringify(narrow),
24
+ // lp: landingPage,
25
+ // page_num: page,
26
+ // type: type,
27
+ // // sort_by: sortBy,
28
+ // // with_product_attributes: withProductAttributes || get(ispOptions)?.with_product_attributes,
29
+ // with_product_attributes: withProductAttributes,
30
+ // search_within_search: searchWithinResultsQuery ? searchWithinResultsQuery : undefined,
31
+ // visual_merchandising: !searchWithinResultsQuery && !narrow.length ? JSON.stringify(visualMerchandising).replaceAll('"[', '[').replaceAll(']"', ']') : undefined,
32
+ // // merchandising_editor: 1,
33
+ // // disable_merchandising: 1,
34
+ // // related_search: 1
35
+ // m: 1
36
+ // });
37
+ visualMerchandising, merchandisingRules, }) => __awaiter(void 0, void 0, void 0, function* () {
38
+ const params = {
39
+ UUID: uuid,
40
+ store_id: storeID,
41
+ facets_required: facets ? 1 : 0,
42
+ products_per_page: productsPerPage,
43
+ narrow: JSON.stringify(narrow),
44
+ lp: landingPage,
45
+ page_num: page,
46
+ type: type,
47
+ // sort_by: sortBy,
48
+ // with_product_attributes: withProductAttributes || get(ispOptions)?.with_product_attributes,
49
+ with_product_attributes: withProductAttributes,
50
+ search_within_search: searchWithinResultsQuery
51
+ ? searchWithinResultsQuery
52
+ : undefined,
53
+ visual_merchandising: type == 0
54
+ ? JSON.stringify(visualMerchandising)
55
+ .replaceAll('"[', "[")
56
+ .replaceAll(']"', "]")
57
+ : undefined,
58
+ // merchandising_editor: 1,
59
+ // disable_merchandising: 1,
60
+ // related_search: 1
61
+ m: 1,
62
+ // merchandising_rules: merchandising_rules ? JSON.stringify(merchandising_rules).replaceAll('"[', '[').replaceAll(']"', ']') : undefined
63
+ merchandising_rules: type == 1 ? JSON.stringify(merchandisingRules) : undefined,
64
+ };
65
+ // if(lastProduct) {
66
+ // params['last_product'] = lastProduct
67
+ // }
68
+ const res = yield yield fastSimonGet(BASE_URL, "landing_page_editor", params);
69
+ // const res = await API.post<LandingPageResponse>({url: BASE_URL+'/landing_page_editor', data: params, config: {headers: {'content-type': 'text/plain'}}});
70
+ return {
71
+ data: res,
72
+ getFacets: () => __awaiter(void 0, void 0, void 0, function* () {
73
+ return (res === null || res === void 0 ? void 0 : res.facets_completed)
74
+ ? transformFacetsOnlyData(res.facets, res.avoid_tag_prefixes)
75
+ : yield LandingPage.landingPageFacetsOnly({
76
+ uuid,
77
+ storeID,
78
+ landingPage,
79
+ page,
80
+ narrow,
81
+ type,
82
+ productsPerPage,
83
+ searchWithinResultsQuery,
84
+ withProductAttributes,
85
+ visualMerchandising,
86
+ merchandisingRules,
87
+ });
88
+ }),
89
+ };
90
+ // return {
91
+ // data: data,
92
+ // getFacets: async () => (data?.facets_completed ? transformFacetsOnlyData(data.facets, data.avoid_tag_prefixes) : await LandingPage.landingPageFacetsOnly({uuid,
93
+ // storeID,
94
+ // landingPage,
95
+ // narrow,
96
+ // type,
97
+ // page,
98
+ // productsPerPage,
99
+ // searchWithinResultsQuery})
100
+ // )
101
+ // }
102
+ }),
103
+ landingPageFacetsOnly: ({ uuid, storeID, landingPage, page = 1, narrow, type, productsPerPage, searchWithinResultsQuery, withProductAttributes = false, visualMerchandising, merchandisingRules, }) => __awaiter(void 0, void 0, void 0, function* () {
104
+ // }: LandingPageFacetsOnly): Promise<Facet[]> => {
105
+ const data = yield fastSimonGet(BASE_URL, "landing_page_editor", {
106
+ UUID: uuid,
107
+ store_id: storeID,
108
+ facets_required: 2,
109
+ products_per_page: productsPerPage,
110
+ narrow: JSON.stringify(narrow),
111
+ type: type,
112
+ lp: landingPage,
113
+ page_num: page !== null && page !== void 0 ? page : 1,
114
+ // sort_by: sortBy,
115
+ // with_product_attributes: withProductAttributes || get(ispOptions)?.with_product_attributes,
116
+ with_product_attributes: withProductAttributes,
117
+ search_within_search: searchWithinResultsQuery
118
+ ? searchWithinResultsQuery
119
+ : undefined,
120
+ visual_merchandising: type == 0
121
+ ? JSON.stringify(visualMerchandising)
122
+ .replaceAll('"[', "[")
123
+ .replaceAll(']"', "]")
124
+ : undefined,
125
+ merchandising_rules: merchandisingRules
126
+ ? JSON.stringify(merchandisingRules)
127
+ : undefined,
128
+ m: 1,
129
+ });
130
+ return transformFacetsOnlyData(data.facets, data.avoid_tag_prefixes);
131
+ }),
132
+ };
133
+ // const transformData = (r: LandingPageServerResponseAll): LandingPageResults => ({
134
+ // narrow: r.narrow ? new NarrowParser().toNarrow(r.narrow) : {},
135
+ // sortBy: r.sort_by,
136
+ // totalResults: r.total_results,
137
+ // page: r.p,
138
+ // totalPages: r.total_p,
139
+ // lpSlug: r.lp_slug,
140
+ // // products: ProductParser.parseProducts(r.items),
141
+ // products: r.items,
142
+ // productIDS: r.items.map(product => String(product.id)),
143
+ // facets: new FacetsParser().parseFacets(r.facets, r.avoid_tag_prefixes ? r.avoid_tag_prefixes.split(",") : []),
144
+ // avoidTagPrefixes: r.avoid_tag_prefixes ? r.avoid_tag_prefixes.split(",") : [],
145
+ // bannerHTML: r?.banner_html ?? "",
146
+ // bannerHTMLMobile: r?.banner_html_mobile ?? "",
147
+ // indexPage: r.index_page,
148
+ // title: r.title,
149
+ // sort: r.sort_by,
150
+ // ancestors: new FacetsParser().parseAncestors(r?.ancestor_categories)
151
+ // });
152
+ export const transformFacetsOnlyData = (r, avoidTagPrefixes) => new FacetsParser().parseFacets(r, avoidTagPrefixes ? avoidTagPrefixes.split(",") : []);
153
+ //# sourceMappingURL=landingPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"landingPage.js","sourceRoot":"","sources":["../../../../../src/services/landingPage.ts"],"names":[],"mappings":"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","sourcesContent":["import type {SortBy} from \"../@types/sortBy\";\r\nimport type {Narrow, ServerNarrow} from \"../@types/narrow\";\r\nimport { fastSimonGet } from \"./API\";\r\nimport {FacetsParser, ServerFacet} from \"@fast-simon/utilities\"\r\nimport {AncestorCategory} from \"../@types/categories\";\r\nimport {EditorProduct} from \"../@types/editorProduct\";\r\ninterface LandingPageRequest {\r\n uuid: string;\r\n storeID: string;\r\n landingPage: string\r\n type: number\r\n page?: number\r\n sortBy?: SortBy\r\n facets?: boolean\r\n narrow?: Narrow\r\n productsPerPage?: number\r\n withProductAttributes?: boolean\r\n searchWithinResultsQuery?: string\r\n}\r\n\r\ninterface LandingPageFacetsOnly extends Omit<LandingPageRequest, \"facets\"> {\r\n avoid_tag_prefixes?: string\r\n}\r\n\r\ninterface LandingPageServerResponseFacetsOnly {\r\n total_results: number\r\n term: string\r\n narrow?: ServerNarrow\r\n facets_completed: true\r\n facets: ServerFacet[],\r\n}\r\n\r\ninterface LandingPageServerResponseAll {\r\n items: EditorProduct[]\r\n alternatives?: string[]\r\n facets_completed: boolean\r\n narrow?: ServerNarrow[]\r\n p: number\r\n total_p: number\r\n total_results: number\r\n term: string\r\n lp_slug: string\r\n title: string\r\n index_page: number\r\n banner_html: string\r\n banner_html_mobile: string\r\n facets: ServerFacet[]\r\n sort_by: SortBy\r\n avoid_tag_prefixes?: string\r\n cms_number_found?: number\r\n within_search_results_for?: string,\r\n ancestor_categories?: AncestorCategory[]\r\n}\r\n\r\n// const BASE_URL = import.meta.env.VITE_SERVING_BASE_URL ?? \"https://internal-v3joil6oqa-uc.a.run.app/search\";\r\nconst BASE_URL = \"https://yslp---internal-v3joil6oqa-uc.a.run.app/search\"\r\n\r\ninterface LandingPageResponse {\r\n items: EditorProduct[]\r\n facets_completed: boolean\r\n narrow?: Narrow[]\r\n p: number\r\n total_p: number\r\n isp_quick_view_mode: number\r\n related_results: boolean\r\n total_results: number\r\n lp_slug: string\r\n title: string\r\n facets: ServerFacet[]\r\n sort_by: SortBy\r\n avoid_tag_prefixes?: string\r\n // data: LandingPageResults,\r\n // getFacetsOnly?: () => Promise<Facet[]>\r\n}\r\n\r\nexport const LandingPage = {\r\n landingPage: async ({\r\n uuid,\r\n storeID,\r\n landingPage,\r\n page = 1,\r\n sortBy = \"relevency\",\r\n facets = true,\r\n narrow,\r\n productsPerPage,\r\n withProductAttributes = undefined,\r\n searchWithinResultsQuery,\r\n type, // }: LandingPageRequest): Promise<LandingPageResponse> => {\r\n // const narrowParm = narrow ? new NarrowParser().toServerNarrow(narrow) : undefined;\r\n //\r\n // const data = await fastSimonGet<LandingPageServerResponseAll>(BASE_URL, 'landing_page_editor', {\r\n // UUID: uuid,\r\n // store_id: storeID,\r\n // facets_required: facets ? 1 : 0,\r\n // products_per_page: productsPerPage,\r\n // narrow: JSON.stringify(narrow),\r\n // lp: landingPage,\r\n // page_num: page,\r\n // type: type,\r\n // // sort_by: sortBy,\r\n // // with_product_attributes: withProductAttributes || get(ispOptions)?.with_product_attributes,\r\n // with_product_attributes: withProductAttributes,\r\n // search_within_search: searchWithinResultsQuery ? searchWithinResultsQuery : undefined,\r\n // visual_merchandising: !searchWithinResultsQuery && !narrow.length ? JSON.stringify(visualMerchandising).replaceAll('\"[', '[').replaceAll(']\"', ']') : undefined,\r\n // // merchandising_editor: 1,\r\n // // disable_merchandising: 1,\r\n // // related_search: 1\r\n // m: 1\r\n // });\r\n visualMerchandising,\r\n merchandisingRules,\r\n }: any) => {\r\n const params: Record<string, any> = {\r\n UUID: uuid,\r\n store_id: storeID,\r\n facets_required: facets ? 1 : 0,\r\n products_per_page: productsPerPage,\r\n narrow: JSON.stringify(narrow),\r\n lp: landingPage,\r\n page_num: page,\r\n type: type,\r\n // sort_by: sortBy,\r\n // with_product_attributes: withProductAttributes || get(ispOptions)?.with_product_attributes,\r\n with_product_attributes: withProductAttributes,\r\n search_within_search: searchWithinResultsQuery\r\n ? searchWithinResultsQuery\r\n : undefined,\r\n visual_merchandising:\r\n type == 0\r\n ? JSON.stringify(visualMerchandising)\r\n .replaceAll('\"[', \"[\")\r\n .replaceAll(']\"', \"]\")\r\n : undefined,\r\n // merchandising_editor: 1,\r\n // disable_merchandising: 1,\r\n // related_search: 1\r\n m: 1,\r\n // merchandising_rules: merchandising_rules ? JSON.stringify(merchandising_rules).replaceAll('\"[', '[').replaceAll(']\"', ']') : undefined\r\n merchandising_rules:\r\n type == 1 ? JSON.stringify(merchandisingRules) : undefined,\r\n };\r\n // if(lastProduct) {\r\n // params['last_product'] = lastProduct\r\n // }\r\n const res = await await fastSimonGet<LandingPageResponse>(\r\n BASE_URL,\r\n \"landing_page_editor\",\r\n params\r\n );\r\n // const res = await API.post<LandingPageResponse>({url: BASE_URL+'/landing_page_editor', data: params, config: {headers: {'content-type': 'text/plain'}}});\r\n return {\r\n data: res,\r\n getFacets: async () =>\r\n res?.facets_completed\r\n ? transformFacetsOnlyData(\r\n res.facets,\r\n res.avoid_tag_prefixes\r\n )\r\n : await LandingPage.landingPageFacetsOnly({\r\n uuid,\r\n storeID,\r\n landingPage,\r\n page,\r\n narrow,\r\n type,\r\n productsPerPage,\r\n searchWithinResultsQuery,\r\n withProductAttributes,\r\n visualMerchandising,\r\n merchandisingRules,\r\n }),\r\n };\r\n // return {\r\n // data: data,\r\n // getFacets: async () => (data?.facets_completed ? transformFacetsOnlyData(data.facets, data.avoid_tag_prefixes) : await LandingPage.landingPageFacetsOnly({uuid,\r\n // storeID,\r\n // landingPage,\r\n // narrow,\r\n // type,\r\n // page,\r\n // productsPerPage,\r\n // searchWithinResultsQuery})\r\n // )\r\n // }\r\n },\r\n\r\n landingPageFacetsOnly: async ({\r\n uuid,\r\n storeID,\r\n landingPage,\r\n page = 1,\r\n narrow,\r\n type,\r\n productsPerPage,\r\n searchWithinResultsQuery,\r\n withProductAttributes = false,\r\n visualMerchandising,\r\n merchandisingRules,\r\n }: any) => {\r\n // }: LandingPageFacetsOnly): Promise<Facet[]> => {\r\n\r\n const data = await fastSimonGet<LandingPageServerResponseAll>(\r\n BASE_URL,\r\n \"landing_page_editor\",\r\n {\r\n UUID: uuid,\r\n store_id: storeID,\r\n facets_required: 2,\r\n products_per_page: productsPerPage,\r\n narrow: JSON.stringify(narrow),\r\n type: type,\r\n lp: landingPage,\r\n page_num: page ?? 1,\r\n // sort_by: sortBy,\r\n // with_product_attributes: withProductAttributes || get(ispOptions)?.with_product_attributes,\r\n with_product_attributes: withProductAttributes,\r\n search_within_search: searchWithinResultsQuery\r\n ? searchWithinResultsQuery\r\n : undefined,\r\n visual_merchandising:\r\n type == 0\r\n ? JSON.stringify(visualMerchandising)\r\n .replaceAll('\"[', \"[\")\r\n .replaceAll(']\"', \"]\")\r\n : undefined,\r\n merchandising_rules: merchandisingRules\r\n ? JSON.stringify(merchandisingRules)\r\n : undefined,\r\n m: 1,\r\n }\r\n );\r\n\r\n return transformFacetsOnlyData(data.facets, data.avoid_tag_prefixes);\r\n },\r\n};\r\n\r\n// const transformData = (r: LandingPageServerResponseAll): LandingPageResults => ({\r\n // narrow: r.narrow ? new NarrowParser().toNarrow(r.narrow) : {},\r\n // sortBy: r.sort_by,\r\n // totalResults: r.total_results,\r\n // page: r.p,\r\n // totalPages: r.total_p,\r\n // lpSlug: r.lp_slug,\r\n // // products: ProductParser.parseProducts(r.items),\r\n // products: r.items,\r\n // productIDS: r.items.map(product => String(product.id)),\r\n // facets: new FacetsParser().parseFacets(r.facets, r.avoid_tag_prefixes ? r.avoid_tag_prefixes.split(\",\") : []),\r\n // avoidTagPrefixes: r.avoid_tag_prefixes ? r.avoid_tag_prefixes.split(\",\") : [],\r\n // bannerHTML: r?.banner_html ?? \"\",\r\n // bannerHTMLMobile: r?.banner_html_mobile ?? \"\",\r\n // indexPage: r.index_page,\r\n // title: r.title,\r\n // sort: r.sort_by,\r\n // ancestors: new FacetsParser().parseAncestors(r?.ancestor_categories)\r\n// });\r\n\r\nexport const transformFacetsOnlyData = (r: ServerFacet[], avoidTagPrefixes?: string) => new FacetsParser().parseFacets(r, avoidTagPrefixes ? avoidTagPrefixes.split(\",\") : []);"]}
@@ -0,0 +1,4 @@
1
+ export declare class CustomTagsFilters {
2
+ static setCustomTagsFilters(customTagsFilters: string[]): void;
3
+ static getCustomTagsFilters(): string[];
4
+ }
@@ -0,0 +1,10 @@
1
+ export class CustomTagsFilters {
2
+ static setCustomTagsFilters(customTagsFilters) {
3
+ localStorage.setItem('customTagsFilters', JSON.stringify(customTagsFilters));
4
+ }
5
+ static getCustomTagsFilters() {
6
+ const storedFilters = localStorage.getItem('customTagsFilters');
7
+ return storedFilters ? JSON.parse(storedFilters) : [];
8
+ }
9
+ }
10
+ //# sourceMappingURL=customTagsFilters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customTagsFilters.js","sourceRoot":"","sources":["../../../../../src/utils/customTagsFilters.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,iBAAiB;IAC1B,MAAM,CAAC,oBAAoB,CAAC,iBAA2B;QACnD,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACjF,CAAC;IAED,MAAM,CAAC,oBAAoB;QACvB,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAChE,OAAO,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,CAAC;CACJ","sourcesContent":["export class CustomTagsFilters {\r\n static setCustomTagsFilters(customTagsFilters: string[]) {\r\n localStorage.setItem('customTagsFilters', JSON.stringify(customTagsFilters));\r\n }\r\n\r\n static getCustomTagsFilters(): string[] {\r\n const storedFilters = localStorage.getItem('customTagsFilters');\r\n return storedFilters ? JSON.parse(storedFilters) : [];\r\n }\r\n}\r\n"]}
@@ -0,0 +1,4 @@
1
+ import { PinnedProduct } from "../@types/context";
2
+ import { EditorProduct } from "../@types/editorProduct";
3
+ export declare const fixPinnedPositions: (pinned: PinnedProduct[], products: EditorProduct[], numOfPromotedProducts: number) => any[];
4
+ export declare const fixPinnedPositions2: (pinned: PinnedProduct[], products: EditorProduct[], product?: EditorProduct) => EditorProduct[];
@@ -0,0 +1,27 @@
1
+ export const fixPinnedPositions = (pinned, products, numOfPromotedProducts) => {
2
+ const pinnedFromProducts = [];
3
+ products.forEach((product, index) => {
4
+ if ((product === null || product === void 0 ? void 0 : product.productLabel) === 'Pinned') {
5
+ pinnedFromProducts.push([index, product.id]);
6
+ }
7
+ });
8
+ return [
9
+ ...pinned.filter(([_, id]) => !pinnedFromProducts.find(([_, productId]) => productId === id)),
10
+ ...pinnedFromProducts
11
+ ];
12
+ };
13
+ export const fixPinnedPositions2 = (pinned, products, product) => {
14
+ // move all the pinned products in products to their position in the pinned array
15
+ const filteredPinned = pinned === null || pinned === void 0 ? void 0 : pinned.filter(([_, id]) => id !== (product === null || product === void 0 ? void 0 : product.id));
16
+ const filteredProducts = products === null || products === void 0 ? void 0 : products.filter(p => p.productLabel !== 'Pinned');
17
+ filteredPinned === null || filteredPinned === void 0 ? void 0 : filteredPinned.sort((a, b) => a[0] - b[0]);
18
+ const productsMap = {};
19
+ products.forEach(p => productsMap[p.id] = p);
20
+ filteredPinned === null || filteredPinned === void 0 ? void 0 : filteredPinned.forEach(pin => {
21
+ if (productsMap === null || productsMap === void 0 ? void 0 : productsMap[pin[1]]) {
22
+ filteredProducts.splice(pin[0], 0, productsMap[pin[1]]);
23
+ }
24
+ });
25
+ return filteredProducts;
26
+ };
27
+ //# sourceMappingURL=fixPinnedPositions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixPinnedPositions.js","sourceRoot":"","sources":["../../../../../src/utils/fixPinnedPositions.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAuB,EAAE,QAAyB,EAAE,qBAA6B,EAAE,EAAE;IACpH,MAAM,kBAAkB,GAAoB,EAAE,CAAC;IAE/C,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QAChC,IAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,MAAK,QAAQ,EAAE;YACnC,kBAAkB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;SAChD;IACL,CAAC,CAAC,CAAC;IAEH,OAAO;QACH,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC;QAC7F,GAAG,kBAAkB;KACxB,CAAC;AACN,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAuB,EAAE,QAAyB,EAAE,OAAuB,EAAE,EAAE;IAE/G,iFAAiF;IACjF,MAAM,cAAc,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,MAAK,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,EAAE,CAAA,CAAC,CAAC;IACvE,MAAM,gBAAgB,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC;IAC5E,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5C,MAAM,WAAW,GAAiC,EAAE,CAAC;IACrD,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAE7C,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,OAAO,CAAC,GAAG,CAAC,EAAE;QAC1B,IAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;YACtB,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3D;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,gBAAgB,CAAC;AAE5B,CAAC,CAAA","sourcesContent":["import {PinnedProduct} from \"../@types/context\";\r\nimport {EditorProduct} from \"../@types/editorProduct\";\r\nimport {ProductsUtils} from \"./products\";\r\n\r\nexport const fixPinnedPositions = (pinned: PinnedProduct[], products: EditorProduct[], numOfPromotedProducts: number) => {\r\n const pinnedFromProducts: PinnedProduct[] = [];\r\n\r\n products.forEach((product, index) => {\r\n if(product?.productLabel === 'Pinned') {\r\n pinnedFromProducts.push([index, product.id]);\r\n }\r\n });\r\n\r\n return [\r\n ...pinned.filter(([_, id]) => !pinnedFromProducts.find(([_, productId]) => productId === id)),\r\n ...pinnedFromProducts\r\n ];\r\n}\r\n\r\nexport const fixPinnedPositions2 = (pinned: PinnedProduct[], products: EditorProduct[], product?: EditorProduct) => {\r\n\r\n // move all the pinned products in products to their position in the pinned array\r\n const filteredPinned = pinned?.filter(([_, id]) => id !== product?.id);\r\n const filteredProducts = products?.filter(p => p.productLabel !== 'Pinned');\r\n filteredPinned?.sort((a, b) => a[0] - b[0]);\r\n\r\n const productsMap:Record<string, EditorProduct> = {};\r\n products.forEach(p => productsMap[p.id] = p);\r\n\r\n filteredPinned?.forEach(pin => {\r\n if(productsMap?.[pin[1]]) {\r\n filteredProducts.splice(pin[0], 0, productsMap[pin[1]]);\r\n }\r\n });\r\n\r\n return filteredProducts;\r\n\r\n}"]}
@@ -0,0 +1,18 @@
1
+ import type { Narrow, ServerNarrow } from "../@types/narrow";
2
+ export declare class NarrowParser {
3
+ toServerNarrow(narrow: Narrow): ServerNarrow[];
4
+ static toReportingNarrow(narrow: Narrow): {
5
+ narrow_by: string | undefined;
6
+ narrow_by_filters: string | undefined;
7
+ };
8
+ static isEqual(narrow1: Narrow, narrow2: Narrow): boolean;
9
+ toNarrow(narrow: ServerNarrow[]): Narrow;
10
+ stringify(narrow: Narrow): string;
11
+ }
12
+ export declare function isInNarrow(narrow: Narrow, name: string, value?: string): boolean;
13
+ export declare function updateNarrow(narrow: Narrow, name: string, value: string): {
14
+ [x: string]: Set<string>;
15
+ };
16
+ export declare function updateSingleNarrow(narrow: Narrow, name: string, value: string): {
17
+ [x: string]: Set<string>;
18
+ };
@@ -0,0 +1,101 @@
1
+ export class NarrowParser {
2
+ toServerNarrow(narrow) {
3
+ return Object.entries(narrow).reduce((previousValue, [name, values]) => {
4
+ values.forEach(value => previousValue.push([name, value]));
5
+ return previousValue;
6
+ }, []);
7
+ }
8
+ static toReportingNarrow(narrow) {
9
+ const reportingNarrow = [];
10
+ if (narrow) {
11
+ for (const [key, values] of Object.entries(narrow)) {
12
+ reportingNarrow.push([key, Array.from(values)]);
13
+ }
14
+ }
15
+ return {
16
+ narrow_by: reportingNarrow.length > 0 ? String(reportingNarrow) : undefined,
17
+ narrow_by_filters: reportingNarrow.length > 0 ? JSON.stringify(reportingNarrow) : undefined,
18
+ };
19
+ }
20
+ static isEqual(narrow1, narrow2) {
21
+ let isEqual = true;
22
+ const narrowArr = Object.entries(narrow1);
23
+ const prevNarrowArr = Object.entries(narrow2);
24
+ const areSetsEqual = (a, b) => a.size === b.size && [...a].every(value => b.has(value));
25
+ const combined = [...narrowArr, ...prevNarrowArr];
26
+ for (const item of combined) {
27
+ const name = item[0];
28
+ if (!(narrow1 === null || narrow1 === void 0 ? void 0 : narrow1[name]) || !(narrow2 === null || narrow2 === void 0 ? void 0 : narrow2[name])) {
29
+ isEqual = false;
30
+ }
31
+ else if (!areSetsEqual(narrow1 === null || narrow1 === void 0 ? void 0 : narrow1[name], narrow2 === null || narrow2 === void 0 ? void 0 : narrow2[name])) {
32
+ isEqual = false;
33
+ }
34
+ }
35
+ return isEqual;
36
+ }
37
+ toNarrow(narrow) {
38
+ return narrow.reduce((previousValue, currentValue) => {
39
+ const [name, value] = currentValue;
40
+ if (name in previousValue) {
41
+ previousValue[name].add(value);
42
+ }
43
+ else {
44
+ previousValue[name] = new Set([value]);
45
+ }
46
+ return previousValue;
47
+ }, {});
48
+ }
49
+ stringify(narrow) {
50
+ return Object.entries(narrow).reduce((previousValue, [key, values]) => {
51
+ return previousValue + (previousValue ? `,${key}:${[...values]}` : `${key}:${[...values]}`);
52
+ }, "");
53
+ }
54
+ }
55
+ export function isInNarrow(narrow, name, value) {
56
+ if (value) {
57
+ return name in narrow && narrow[name].has(value);
58
+ }
59
+ return name in narrow;
60
+ }
61
+ export function updateNarrow(narrow, name, value) {
62
+ let newNarrow;
63
+ if (name in narrow) {
64
+ const copy = new Set(narrow[name]);
65
+ if (narrow[name].has(value)) {
66
+ copy.delete(value);
67
+ }
68
+ else {
69
+ copy.add(value);
70
+ }
71
+ newNarrow = Object.assign(Object.assign({}, narrow), { [name]: copy });
72
+ }
73
+ else {
74
+ newNarrow = Object.assign(Object.assign({}, narrow), { [name]: new Set([value]) });
75
+ }
76
+ if (newNarrow[name] && newNarrow[name].size === 0) {
77
+ delete newNarrow[name];
78
+ }
79
+ return newNarrow;
80
+ }
81
+ export function updateSingleNarrow(narrow, name, value) {
82
+ let newNarrow;
83
+ if (name in narrow) {
84
+ if (!narrow[name].has(value)) {
85
+ newNarrow = Object.assign(Object.assign({}, narrow), { [name]: new Set([value]) });
86
+ }
87
+ else {
88
+ const copy = Object.assign({}, narrow);
89
+ delete copy[name];
90
+ newNarrow = copy;
91
+ }
92
+ }
93
+ else {
94
+ newNarrow = Object.assign(Object.assign({}, narrow), { [name]: new Set([value]) });
95
+ }
96
+ if (newNarrow[name] && newNarrow[name].size === 0) {
97
+ delete newNarrow[name];
98
+ }
99
+ return newNarrow;
100
+ }
101
+ //# sourceMappingURL=narrow.js.map