@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 @@
1
+ {"version":3,"file":"narrow.js","sourceRoot":"","sources":["../../../../../src/utils/narrow.ts"],"names":[],"mappings":"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","sourcesContent":["import type {Narrow, ServerNarrow} from \"../@types/narrow\";\r\n\r\nexport class NarrowParser {\r\n toServerNarrow(narrow: Narrow) {\r\n return Object.entries(narrow).reduce((previousValue, [name, values]) => {\r\n values.forEach(value => previousValue.push([name, value]));\r\n\r\n return previousValue;\r\n }, [] as ServerNarrow[]);\r\n }\r\n\r\n static toReportingNarrow(narrow: Narrow) {\r\n const reportingNarrow: [string, string[]][] = [];\r\n if(narrow) {\r\n for (const [key, values] of Object.entries(narrow)) {\r\n reportingNarrow.push([key, Array.from(values)])\r\n }\r\n }\r\n return {\r\n narrow_by : reportingNarrow.length > 0 ? String(reportingNarrow) : undefined,\r\n narrow_by_filters :reportingNarrow.length > 0 ? JSON.stringify(reportingNarrow) : undefined,\r\n }\r\n }\r\n\r\n static isEqual(narrow1:Narrow, narrow2:Narrow) {\r\n let isEqual = true;\r\n const narrowArr = Object.entries(narrow1);\r\n const prevNarrowArr = Object.entries(narrow2);\r\n const areSetsEqual = (a: Set<string>, b: Set<string>) => a.size === b.size && [...a].every(value => b.has(value));\r\n const combined = [...narrowArr, ...prevNarrowArr];\r\n for(const item of combined) {\r\n const name = item[0];\r\n if(!narrow1?.[name] || !narrow2?.[name]) {\r\n isEqual = false;\r\n } else if (!areSetsEqual(narrow1?.[name], narrow2?.[name])) {\r\n isEqual = false;\r\n }\r\n }\r\n return isEqual;\r\n }\r\n\r\n toNarrow(narrow: ServerNarrow[]): Narrow {\r\n return narrow.reduce((previousValue, currentValue) => {\r\n const [name, value] = currentValue;\r\n if (name in previousValue) {\r\n previousValue[name].add(value);\r\n } else {\r\n previousValue[name] = new Set([value]);\r\n }\r\n\r\n return previousValue;\r\n }, {} as Narrow);\r\n }\r\n\r\n stringify(narrow: Narrow) {\r\n return Object.entries(narrow).reduce((previousValue, [key, values]) => {\r\n\r\n return previousValue + (previousValue ? `,${key}:${[...values]}` : `${key}:${[...values]}`);\r\n }, \"\")\r\n }\r\n}\r\n\r\nexport function isInNarrow(narrow: Narrow, name: string, value?: string) {\r\n if (value) {\r\n return name in narrow && narrow[name].has(value);\r\n }\r\n return name in narrow;\r\n}\r\n\r\nexport function updateNarrow(narrow: Narrow, name: string, value: string) {\r\n let newNarrow;\r\n\r\n if (name in narrow) {\r\n const copy = new Set(narrow[name]);\r\n if (narrow[name].has(value)) {\r\n copy.delete(value);\r\n } else {\r\n copy.add(value);\r\n }\r\n\r\n newNarrow = {\r\n ...narrow,\r\n [name]: copy\r\n }\r\n } else {\r\n newNarrow = {\r\n ...narrow,\r\n [name]: new Set([value])\r\n }\r\n }\r\n\r\n if (newNarrow[name] && newNarrow[name].size === 0) {\r\n delete newNarrow[name];\r\n }\r\n\r\n return newNarrow;\r\n}\r\n\r\nexport function updateSingleNarrow(narrow: Narrow, name: string, value: string) {\r\n let newNarrow;\r\n\r\n if (name in narrow) {\r\n if (!narrow[name].has(value)) {\r\n newNarrow = {\r\n ...narrow,\r\n [name]: new Set([value])\r\n }\r\n } else {\r\n const copy = {...narrow};\r\n delete copy[name];\r\n newNarrow = copy;\r\n }\r\n } else {\r\n newNarrow = {\r\n ...narrow,\r\n [name]: new Set([value])\r\n }\r\n }\r\n\r\n if (newNarrow[name] && newNarrow[name].size === 0) {\r\n delete newNarrow[name];\r\n }\r\n\r\n return newNarrow;\r\n}"]}
@@ -0,0 +1,30 @@
1
+ import { EditorProduct } from "../@types/editorProduct";
2
+ export declare const ProductsUtils: {
3
+ /**
4
+ * Change the position of multiple products, starting from index a and moving n products to index b, in use for multiple product actions
5
+ * Use the splice method to extract and remove the products from their original positions, then use the splice method again to insert them into the new positions
6
+ * Time complexity O(n), where n is the number of elements in the array that being modified
7
+ * @param products - is the current products state
8
+ * @param startIndex - is the starting index
9
+ * @param numberOfProducts - is the number of products to move
10
+ * @param destIndex - is the destination index you want to insert the product into
11
+ **/
12
+ changeProductsPosition: (products: EditorProduct[], startIndex: number, numberOfProducts: number, destIndex: number) => EditorProduct[];
13
+ /**
14
+ * Change position of a single product
15
+ * Use the splice method to remove the product from its original position and insert it into the new position.
16
+ * time complexity O(n)
17
+ * @param gridItems - is the current products state
18
+ * @param oldIndex - is the index of the product to move
19
+ * @param newIndex - is the destination index
20
+ **/
21
+ changeProductPosition: (gridItems: EditorProduct[], oldIndex: number, newIndex: number) => EditorProduct[];
22
+ /**
23
+ * Add product (hidden/unpublished/promotile) to specific position in the products array
24
+ * Use the splice method to remove the product from its original position and insert it into the new position.
25
+ * @param products - is the current products state
26
+ * @param productToAdd - is the new product to add
27
+ * @param destIndex - is the destination index
28
+ **/
29
+ addProductToIndex: (products: EditorProduct[], productToAdd: EditorProduct, destIndex: number) => EditorProduct[];
30
+ };
@@ -0,0 +1,39 @@
1
+ export const ProductsUtils = {
2
+ /**
3
+ * Change the position of multiple products, starting from index a and moving n products to index b, in use for multiple product actions
4
+ * Use the splice method to extract and remove the products from their original positions, then use the splice method again to insert them into the new positions
5
+ * Time complexity O(n), where n is the number of elements in the array that being modified
6
+ * @param products - is the current products state
7
+ * @param startIndex - is the starting index
8
+ * @param numberOfProducts - is the number of products to move
9
+ * @param destIndex - is the destination index you want to insert the product into
10
+ **/
11
+ changeProductsPosition: (products, startIndex, numberOfProducts, destIndex) => {
12
+ products.splice(destIndex - numberOfProducts + 1, 0, ...products.splice(startIndex, numberOfProducts));
13
+ return products;
14
+ },
15
+ /**
16
+ * Change position of a single product
17
+ * Use the splice method to remove the product from its original position and insert it into the new position.
18
+ * time complexity O(n)
19
+ * @param gridItems - is the current products state
20
+ * @param oldIndex - is the index of the product to move
21
+ * @param newIndex - is the destination index
22
+ **/
23
+ changeProductPosition: (gridItems, oldIndex, newIndex) => {
24
+ gridItems.splice(newIndex, 0, gridItems.splice(oldIndex, 1)[0]);
25
+ return gridItems;
26
+ },
27
+ /**
28
+ * Add product (hidden/unpublished/promotile) to specific position in the products array
29
+ * Use the splice method to remove the product from its original position and insert it into the new position.
30
+ * @param products - is the current products state
31
+ * @param productToAdd - is the new product to add
32
+ * @param destIndex - is the destination index
33
+ **/
34
+ addProductToIndex: (products, productToAdd, destIndex) => {
35
+ products.splice(destIndex, 0, productToAdd);
36
+ return products;
37
+ }
38
+ };
39
+ //# sourceMappingURL=products.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"products.js","sourceRoot":"","sources":["../../../../../src/utils/products.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAG;IAEzB;;;;;;;;QAQI;IACJ,sBAAsB,EAAE,CAAC,QAAyB,EAAE,UAAkB,EAAE,gBAAwB,EAAE,SAAiB,EAAE,EAAE;QACnH,QAAQ,CAAC,MAAM,CAAC,SAAS,GAAC,gBAAgB,GAAC,CAAC,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC;QACnG,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED;;;;;;;QAOI;IACJ,qBAAqB,EAAE,CAAC,SAA0B,EAAE,QAAgB,EAAE,QAAgB,EAAE,EAAE;QACtF,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;;;;;QAMI;IACJ,iBAAiB,EAAE,CAAC,QAAyB,EAAE,YAA2B,EAAE,SAAiB,EAAE,EAAE;QAC7F,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;QAC5C,OAAO,QAAQ,CAAC;IACpB,CAAC;CAGJ,CAAA","sourcesContent":["import {EditorProduct} from \"../@types/editorProduct\";\r\n\r\nexport const ProductsUtils = {\r\n\r\n /**\r\n * Change the position of multiple products, starting from index a and moving n products to index b, in use for multiple product actions\r\n * Use the splice method to extract and remove the products from their original positions, then use the splice method again to insert them into the new positions\r\n * Time complexity O(n), where n is the number of elements in the array that being modified\r\n * @param products - is the current products state\r\n * @param startIndex - is the starting index\r\n * @param numberOfProducts - is the number of products to move\r\n * @param destIndex - is the destination index you want to insert the product into\r\n **/\r\n changeProductsPosition: (products: EditorProduct[], startIndex: number, numberOfProducts: number, destIndex: number) => {\r\n products.splice(destIndex-numberOfProducts+1, 0, ...products.splice(startIndex, numberOfProducts));\r\n return products;\r\n },\r\n\r\n /**\r\n * Change position of a single product\r\n * Use the splice method to remove the product from its original position and insert it into the new position.\r\n * time complexity O(n)\r\n * @param gridItems - is the current products state\r\n * @param oldIndex - is the index of the product to move\r\n * @param newIndex - is the destination index\r\n **/\r\n changeProductPosition: (gridItems: EditorProduct[], oldIndex: number, newIndex: number) => {\r\n gridItems.splice(newIndex, 0, gridItems.splice(oldIndex, 1)[0]);\r\n return gridItems;\r\n },\r\n\r\n /**\r\n * Add product (hidden/unpublished/promotile) to specific position in the products array\r\n * Use the splice method to remove the product from its original position and insert it into the new position.\r\n * @param products - is the current products state\r\n * @param productToAdd - is the new product to add\r\n * @param destIndex - is the destination index\r\n **/\r\n addProductToIndex: (products: EditorProduct[], productToAdd: EditorProduct, destIndex: number) => {\r\n products.splice(destIndex, 0, productToAdd);\r\n return products;\r\n }\r\n\r\n\r\n}"]}
@@ -0,0 +1,3 @@
1
+ export default class ShopifyMarkets {
2
+ static getCountry(): any;
3
+ }
@@ -0,0 +1,7 @@
1
+ export default class ShopifyMarkets {
2
+ static getCountry() {
3
+ var _a;
4
+ return (_a = window === null || window === void 0 ? void 0 : window.Shopify) === null || _a === void 0 ? void 0 : _a.country;
5
+ }
6
+ }
7
+ //# sourceMappingURL=shopifyMarkets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shopifyMarkets.js","sourceRoot":"","sources":["../../../../../src/utils/shopifyMarkets.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,cAAc;IAChC,MAAM,CAAC,UAAU;;QACZ,OAAO,MAAC,MAAc,aAAd,MAAM,uBAAN,MAAM,CAAU,OAAO,0CAAE,OAAO,CAAC;IAC7C,CAAC;CACJ","sourcesContent":["export default class ShopifyMarkets {\r\n static getCountry() {\r\n return (window as any)?.Shopify?.country;\r\n }\r\n}"]}
@@ -0,0 +1,13 @@
1
+ import React from "react";
2
+ interface Props {
3
+ areaRef: React.RefObject<HTMLDivElement>;
4
+ selectables: HTMLElement[];
5
+ areaId: string;
6
+ onSelectCommitted?: (selectedIDS: string[]) => void;
7
+ onSelect: (ids: Record<string, number>) => void;
8
+ isDragAndDropActive: boolean;
9
+ disabled?: boolean;
10
+ onDispatch: (key: string, value: any) => void;
11
+ }
12
+ export declare const useDragToSelect: ({ areaRef, selectables, areaId, onSelectCommitted, onSelect, isDragAndDropActive, disabled, onDispatch, }: Props) => void;
13
+ export {};
@@ -0,0 +1,177 @@
1
+ import React, { useCallback, useEffect, useState } from "react";
2
+ import DragSelect from "dragselect";
3
+ export const useDragToSelect = ({ areaRef, selectables, areaId, onSelectCommitted, onSelect, isDragAndDropActive, disabled, onDispatch, }) => {
4
+ // const { state, dispatcher } = useVisualEditorContext();
5
+ const [dragselect, setDragSelect] = React.useState();
6
+ const [prevSelectables, setPrevSelectables] = useState([]);
7
+ const setSelected = useCallback((items) => {
8
+ const selected = items.map((el) => {
9
+ const wrapper = el.closest(".main-product-container") ||
10
+ el.querySelector(".main-product-container");
11
+ return {
12
+ id: wrapper === null || wrapper === void 0 ? void 0 : wrapper.getAttribute("product-id"),
13
+ pos: wrapper === null || wrapper === void 0 ? void 0 : wrapper.getAttribute("product-index"),
14
+ };
15
+ });
16
+ const ids = {};
17
+ selected.forEach((el) => {
18
+ const id = el.id.includes("_")
19
+ ? el.id.split("_")[1]
20
+ : String(el.id);
21
+ ids[id] = parseInt(el.pos);
22
+ });
23
+ onSelect(ids);
24
+ }, [onSelect]);
25
+ const onselect = (callback_object) => {
26
+ var _a;
27
+ if (window.isDragAndDropActive ||
28
+ (callback_object === null || callback_object === void 0 ? void 0 : callback_object.isDragging) ||
29
+ !((_a = callback_object.event) === null || _a === void 0 ? void 0 : _a.target) ||
30
+ callback_object.event.target.localName === "svg") {
31
+ return;
32
+ }
33
+ if (callback_object.event.target.classList.contains("material-symbols-outlined") ||
34
+ callback_object.event.target.className.includes("icon") ||
35
+ callback_object.event.target.className.includes("Tooltip")) {
36
+ return;
37
+ }
38
+ setSelected(callback_object.items);
39
+ };
40
+ const commit = (callback_object) => {
41
+ var _a, _b, _c;
42
+ // dispatcher.setIsDragToSelectActive(false);
43
+ onDispatch("setIsDragToSelectActive", false);
44
+ if ((callback_object === null || callback_object === void 0 ? void 0 : callback_object.isDragging) ||
45
+ window.isDragAndDropActive) {
46
+ const area = document.getElementById(areaId);
47
+ if (area) {
48
+ area.style.userSelect = "";
49
+ area.style.webkitUserSelect = "";
50
+ }
51
+ dragselect === null || dragselect === void 0 ? void 0 : dragselect.clearSelection();
52
+ return;
53
+ }
54
+ if ((_c = (_b = (_a = callback_object === null || callback_object === void 0 ? void 0 : callback_object.event) === null || _a === void 0 ? void 0 : _a.target) === null || _b === void 0 ? void 0 : _b.closest) === null || _c === void 0 ? void 0 : _c.call(_b, ".main-product-container")) {
55
+ return;
56
+ }
57
+ onselect(callback_object);
58
+ dragselect === null || dragselect === void 0 ? void 0 : dragselect.clearSelection();
59
+ };
60
+ const onSelectStart = (callback_object) => {
61
+ var _a, _b, _c, _d;
62
+ // dispatcher.setIsDragToSelectActive(true);
63
+ onDispatch("setIsDragToSelectActive", true);
64
+ if (!(callback_object === null || callback_object === void 0 ? void 0 : callback_object.isDragging) &&
65
+ !window.isDragAndDropActive &&
66
+ callback_object.items.length !== 1) {
67
+ dragselect === null || dragselect === void 0 ? void 0 : dragselect.clearSelection();
68
+ }
69
+ if (window.getSelection) {
70
+ (_b = (_a = window.getSelection()) === null || _a === void 0 ? void 0 : _a.removeAllRanges) === null || _b === void 0 ? void 0 : _b.call(_a);
71
+ }
72
+ else if (document.getSelection) {
73
+ (_d = (_c = document.getSelection()) === null || _c === void 0 ? void 0 : _c.empty) === null || _d === void 0 ? void 0 : _d.call(_c);
74
+ }
75
+ const area = document.getElementById(areaId);
76
+ if (area) {
77
+ area.style.userSelect = "none";
78
+ area.style.webkitUserSelect = "none";
79
+ }
80
+ };
81
+ const onscroll = (callback_object) => {
82
+ var _a;
83
+ if (((_a = callback_object === null || callback_object === void 0 ? void 0 : callback_object.items) === null || _a === void 0 ? void 0 : _a.length) > 1 &&
84
+ !window.isDragAndDropActive) {
85
+ setSelected(callback_object.items);
86
+ }
87
+ };
88
+ useEffect(() => {
89
+ dragselect === null || dragselect === void 0 ? void 0 : dragselect.subscribe("dragmove", onselect);
90
+ dragselect === null || dragselect === void 0 ? void 0 : dragselect.subscribe("callback", commit);
91
+ dragselect === null || dragselect === void 0 ? void 0 : dragselect.subscribe("dragstart", onSelectStart);
92
+ dragselect === null || dragselect === void 0 ? void 0 : dragselect.subscribe("autoscroll", onscroll);
93
+ return () => {
94
+ dragselect === null || dragselect === void 0 ? void 0 : dragselect.unsubscribe("dragmove", onselect);
95
+ dragselect === null || dragselect === void 0 ? void 0 : dragselect.unsubscribe("callback", commit);
96
+ dragselect === null || dragselect === void 0 ? void 0 : dragselect.unsubscribe("dragstart", onSelectStart);
97
+ dragselect === null || dragselect === void 0 ? void 0 : dragselect.unsubscribe("autoscroll", onscroll);
98
+ };
99
+ }, [dragselect, setSelected]);
100
+ useEffect(() => {
101
+ const prevIds = prevSelectables.map((el) => {
102
+ const wrapper = el.closest(".main-product-container");
103
+ return wrapper === null || wrapper === void 0 ? void 0 : wrapper.getAttribute("product-id");
104
+ });
105
+ const currentIds = selectables.map((el) => {
106
+ const wrapper = el.closest(".main-product-container");
107
+ return wrapper === null || wrapper === void 0 ? void 0 : wrapper.getAttribute("product-id");
108
+ });
109
+ if (!dragselect && areaRef.current) {
110
+ if (onSelectCommitted) {
111
+ console.log("init dragselect");
112
+ }
113
+ setDragSelect(new DragSelect({
114
+ selectables: selectables,
115
+ area: document.getElementById(areaId),
116
+ autoScrollSpeed: 15,
117
+ overflowTolerance: { x: 0, y: 0 },
118
+ }));
119
+ }
120
+ else if (dragselect &&
121
+ JSON.stringify(prevIds) !== JSON.stringify(currentIds) &&
122
+ !isDragAndDropActive) {
123
+ dragselect.setSettings({
124
+ selectables: selectables,
125
+ overflowTolerance: { x: 0, y: 0 },
126
+ });
127
+ setPrevSelectables(selectables);
128
+ }
129
+ }, [selectables, areaRef, disabled, isDragAndDropActive]);
130
+ useEffect(() => {
131
+ const mousedownCallback = (e) => {
132
+ var _a;
133
+ if (e.target.closest("#page_top")) {
134
+ return;
135
+ }
136
+ if (e.target.closest(".actions-bar-container") ||
137
+ e.target.closest(".scroll-to-top-btn") ||
138
+ e.target.closest(".paste-button-container")) {
139
+ return;
140
+ }
141
+ if (!((_a = e.target) === null || _a === void 0 ? void 0 : _a.closest("#" + areaId))) {
142
+ // dispatcher.setIsCutting(false);
143
+ // dispatcher.setSelectedProducts([]);
144
+ onDispatch("setIsCutting", false);
145
+ onDispatch("setSelectedProducts", []);
146
+ onSelect({});
147
+ }
148
+ };
149
+ document.addEventListener("mousedown", mousedownCallback);
150
+ return () => {
151
+ document.removeEventListener("mousedown", mousedownCallback);
152
+ };
153
+ }, []);
154
+ useEffect(() => {
155
+ document.querySelectorAll(".ds-selector-area").forEach((el) => {
156
+ el.style.visibility = isDragAndDropActive ? "hidden" : "visible";
157
+ });
158
+ }, [isDragAndDropActive]);
159
+ useEffect(() => {
160
+ if (dragselect && disabled) {
161
+ dragselect.clearSelection();
162
+ dragselect.setSettings({
163
+ selectables: [],
164
+ area: document.createElement("div"),
165
+ overflowTolerance: { x: 0, y: 0 },
166
+ });
167
+ }
168
+ else if (dragselect && disabled === false) {
169
+ dragselect.setSettings({
170
+ selectables: selectables,
171
+ area: document.getElementById(areaId),
172
+ overflowTolerance: { x: 0, y: 0 },
173
+ });
174
+ }
175
+ }, [dragselect, disabled]);
176
+ };
177
+ //# sourceMappingURL=useDragToSelect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDragToSelect.js","sourceRoot":"","sources":["../../../../../src/utils/useDragToSelect.ts"],"names":[],"mappings":"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","sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport DragSelect from \"dragselect\";\nimport { useVisualEditorContext } from \"../../../../dashboard/dashboard-client/src/pages/LandingPages/editor/context/visualEditorContext\";\ninterface Props {\n areaRef: React.RefObject<HTMLDivElement>;\n selectables: HTMLElement[];\n areaId: string;\n onSelectCommitted?: (selectedIDS: string[]) => void;\n onSelect: (ids: Record<string, number>) => void;\n isDragAndDropActive: boolean;\n disabled?: boolean;\n onDispatch: (key: string, value: any) => void;\n}\nexport const useDragToSelect = ({\n areaRef,\n selectables,\n areaId,\n onSelectCommitted,\n onSelect,\n isDragAndDropActive,\n disabled,\n onDispatch,\n}: Props) => {\n // const { state, dispatcher } = useVisualEditorContext();\n\n const [dragselect, setDragSelect] = React.useState<DragSelect>();\n\n const [prevSelectables, setPrevSelectables] = useState<HTMLElement[]>([]);\n\n const setSelected = useCallback(\n (items: HTMLElement[]) => {\n const selected = items.map((el: HTMLElement) => {\n const wrapper =\n el.closest(\".main-product-container\") ||\n el.querySelector(\".main-product-container\");\n return {\n id: wrapper?.getAttribute(\"product-id\"),\n pos: wrapper?.getAttribute(\"product-index\"),\n };\n });\n const ids: Record<string, number> = {};\n selected.forEach((el: any) => {\n const id = el.id.includes(\"_\")\n ? el.id.split(\"_\")[1]\n : String(el.id);\n ids[id] = parseInt(el.pos);\n });\n\n onSelect(ids);\n },\n [onSelect]\n );\n\n const onselect = (callback_object: any) => {\n if (\n (window as any).isDragAndDropActive ||\n callback_object?.isDragging ||\n !callback_object.event?.target ||\n callback_object.event.target.localName === \"svg\"\n ) {\n return;\n }\n if (\n callback_object.event.target.classList.contains(\n \"material-symbols-outlined\"\n ) ||\n callback_object.event.target.className.includes(\"icon\") ||\n callback_object.event.target.className.includes(\"Tooltip\")\n ) {\n return;\n }\n\n setSelected(callback_object.items);\n };\n\n const commit = (callback_object: any) => {\n // dispatcher.setIsDragToSelectActive(false);\n onDispatch(\"setIsDragToSelectActive\", false);\n if (\n callback_object?.isDragging ||\n (window as any).isDragAndDropActive\n ) {\n const area = document.getElementById(areaId) as HTMLElement;\n if (area) {\n area.style.userSelect = \"\";\n area.style.webkitUserSelect = \"\";\n }\n dragselect?.clearSelection();\n return;\n }\n if (\n callback_object?.event?.target?.closest?.(\".main-product-container\")\n ) {\n return;\n }\n onselect(callback_object);\n dragselect?.clearSelection();\n };\n\n const onSelectStart = (callback_object: any) => {\n // dispatcher.setIsDragToSelectActive(true);\n onDispatch(\"setIsDragToSelectActive\", true);\n\n if (\n !callback_object?.isDragging &&\n !(window as any).isDragAndDropActive &&\n callback_object.items.length !== 1\n ) {\n dragselect?.clearSelection();\n }\n if (window.getSelection) {\n window.getSelection()?.removeAllRanges?.();\n } else if (document.getSelection) {\n document.getSelection()?.empty?.();\n }\n const area = document.getElementById(areaId) as HTMLElement;\n if (area) {\n area.style.userSelect = \"none\";\n area.style.webkitUserSelect = \"none\";\n }\n };\n\n const onscroll = (callback_object: any) => {\n if (\n callback_object?.items?.length > 1 &&\n !(window as any).isDragAndDropActive\n ) {\n setSelected(callback_object.items);\n }\n };\n\n useEffect(() => {\n dragselect?.subscribe(\"dragmove\", onselect);\n dragselect?.subscribe(\"callback\", commit);\n dragselect?.subscribe(\"dragstart\", onSelectStart);\n dragselect?.subscribe(\"autoscroll\", onscroll);\n return () => {\n dragselect?.unsubscribe(\"dragmove\", onselect);\n dragselect?.unsubscribe(\"callback\", commit);\n dragselect?.unsubscribe(\"dragstart\", onSelectStart);\n dragselect?.unsubscribe(\"autoscroll\", onscroll);\n };\n }, [dragselect, setSelected]);\n\n useEffect(() => {\n const prevIds = prevSelectables.map((el: HTMLElement) => {\n const wrapper = el.closest(\".main-product-container\");\n return wrapper?.getAttribute(\"product-id\");\n });\n const currentIds = selectables.map((el: HTMLElement) => {\n const wrapper = el.closest(\".main-product-container\");\n return wrapper?.getAttribute(\"product-id\");\n });\n\n if (!dragselect && areaRef.current) {\n if (onSelectCommitted) {\n console.log(\"init dragselect\");\n }\n setDragSelect(\n new DragSelect({\n selectables: selectables as HTMLElement[],\n area: document.getElementById(areaId) as HTMLElement,\n autoScrollSpeed: 15,\n overflowTolerance: { x: 0, y: 0 },\n })\n );\n } else if (\n dragselect &&\n JSON.stringify(prevIds) !== JSON.stringify(currentIds) &&\n !isDragAndDropActive\n ) {\n dragselect.setSettings({\n selectables: selectables as HTMLElement[],\n overflowTolerance: { x: 0, y: 0 },\n });\n setPrevSelectables(selectables);\n }\n }, [selectables, areaRef, disabled, isDragAndDropActive]);\n\n useEffect(() => {\n const mousedownCallback = (e: any) => {\n if (e.target.closest(\"#page_top\")) {\n return;\n }\n if (\n e.target.closest(\".actions-bar-container\") ||\n e.target.closest(\".scroll-to-top-btn\") ||\n e.target.closest(\".paste-button-container\")\n ) {\n return;\n }\n if (!e.target?.closest(\"#\" + areaId)) {\n // dispatcher.setIsCutting(false);\n // dispatcher.setSelectedProducts([]);\n onDispatch(\"setIsCutting\", false);\n onDispatch(\"setSelectedProducts\", []);\n onSelect({});\n }\n };\n\n document.addEventListener(\"mousedown\", mousedownCallback);\n return () => {\n document.removeEventListener(\"mousedown\", mousedownCallback);\n };\n }, []);\n\n useEffect(() => {\n document.querySelectorAll(\".ds-selector-area\").forEach((el: any) => {\n el.style.visibility = isDragAndDropActive ? \"hidden\" : \"visible\";\n });\n }, [isDragAndDropActive]);\n\n useEffect(() => {\n if (dragselect && disabled) {\n dragselect.clearSelection();\n dragselect.setSettings({\n selectables: [],\n area: document.createElement(\"div\"),\n overflowTolerance: { x: 0, y: 0 },\n });\n } else if (dragselect && disabled === false) {\n dragselect.setSettings({\n selectables: selectables as HTMLElement[],\n area: document.getElementById(areaId) as HTMLElement,\n overflowTolerance: { x: 0, y: 0 },\n });\n }\n }, [dragselect, disabled]);\n};\n"]}
@@ -0,0 +1,61 @@
1
+ .svg {
2
+ fill: black;
3
+ transition: all ease-in-out 110ms;
4
+
5
+ }
6
+
7
+ .svg:hover {
8
+ fill: var(--primary-color);
9
+ }
10
+
11
+ .svgPath {
12
+ stroke: black;
13
+ transition: all ease-in-out 200ms;
14
+ stroke-width: 2;
15
+ }
16
+
17
+ .iconWrapper {
18
+ transition: all ease-in-out 200ms;
19
+ width: 100%;
20
+ height: 100%;
21
+ display: flex;
22
+ position: relative;
23
+ align-items: center;
24
+ justify-content: center;
25
+ }
26
+
27
+ .iconWrapperForStrokedSvg:hover .svgPath {
28
+ stroke: var(--primary-color);
29
+ }
30
+
31
+ .iconWrapper:hover .svg {
32
+ fill: var(--primary-color);
33
+ }
34
+
35
+ .iconWrapperForStrokedSvg:hover .svg{
36
+ fill: var(--primary-color);
37
+ }
38
+
39
+ .iconWrapperForStrokedSvg {
40
+ transition: all ease-in-out 200ms;
41
+ width: 100%;
42
+ display: flex;
43
+ position: relative;
44
+ align-items: center;
45
+ justify-content: center;
46
+ height: 100%;
47
+ }
48
+
49
+ .iconWrapper:hover .materialIcon {
50
+ color: var(--primary-color);
51
+ }
52
+
53
+ .materialIcon {
54
+ transition: all ease-in-out 200ms;
55
+ font-size: 26px;
56
+ font-variation-settings:
57
+ 'FILL' 0,
58
+ 'wght' 500,
59
+ 'GRAD' 0,
60
+ 'opsz' 48
61
+ }
package/package.json ADDED
@@ -0,0 +1,65 @@
1
+ {
2
+ "name": "@fast-simon/dashboard-utilities",
3
+ "version": "1.0.1",
4
+ "scripts": {
5
+ "dev": "vite",
6
+ "preview": "vite preview",
7
+ "build": "tsc -p tsconfig-build.json",
8
+ "prepublishOnly": "npm version patch && npm run build",
9
+ "postbuild": "copyfiles -u 2 src/components/**/*.css dist/components && copyfiles -u 2 src/icons/**/*.css dist/icons && copyfiles -u 2 src/assets/**/*.gif dist/assets"
10
+ },
11
+ "main": "dist/index.js",
12
+ "module": "dist/index.js",
13
+ "types": "dist/index.d.ts",
14
+ "files": [
15
+ "dist"
16
+ ],
17
+ "dependencies": {
18
+ "@babel/core": "^7.20.12",
19
+ "@dnd-kit/core": "^6.0.8",
20
+ "@dnd-kit/modifiers": "^6.0.1",
21
+ "@dnd-kit/sortable": "^7.0.2",
22
+ "@dnd-kit/utilities": "^3.2.1",
23
+ "@emotion/react": "11.4.1",
24
+ "@fast-simon/logger": "^1.0.0",
25
+ "@fast-simon/utilities": "^1.0.19",
26
+ "@radix-ui/react-accordion": "^1.1.1",
27
+ "@tippyjs/react": "^4.2.6",
28
+ "classnames": "^2.3.1",
29
+ "clsx": "^1.1.1",
30
+ "dragselect": "^2.7.4",
31
+ "fast-simon-sdk": "^1.2.60",
32
+ "lucide-react": "^0.223.0",
33
+ "moment": "^2.29.1",
34
+ "rc-slider": "^10.1.1",
35
+ "react-datepicker": "^4.10.0",
36
+ "react-select": "^5.2.1",
37
+ "tss-react": "^3.6.0",
38
+ "usehooks-ts": "^2.9.1",
39
+ "react-jss": "^10.6.0",
40
+ "react-loading-skeleton": "^2.2.0",
41
+ "react-multi-carousel": "^2.6.3",
42
+ "react-switch": "^6.0.0"
43
+ },
44
+ "devDependencies": {
45
+ "@types/node": "^18.13.0",
46
+ "@types/react": "^17.0.33",
47
+ "@types/react-datepicker": "^4.10.0",
48
+ "@types/react-dom": "^17.0.10",
49
+ "@types/react-modal": "^3.13.1",
50
+ "@types/react-router-dom": "^5.1.5",
51
+ "@vitejs/plugin-react": "^1.0.7",
52
+ "axios": "^0.24.0",
53
+ "copyfiles": "^2.4.1",
54
+ "dotenv": "^11.0.0",
55
+ "prettier": "^2.8.4",
56
+ "react": "^17.0.2",
57
+ "react-datepicker": "^4.10.0",
58
+ "react-dom": "^17.0.2",
59
+ "react-modal": "3.14.4",
60
+ "react-router-dom": "^5.2.0",
61
+ "rimraf": "^3.0.2",
62
+ "typescript": "^4.4.4",
63
+ "vite": "^2.7.2"
64
+ }
65
+ }