@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,49 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useRef, useState } from 'react';
3
+ import classes from './styles.module.css';
4
+ import clsx from "clsx";
5
+ const Input = ({ initialInput, onChange, onCompleted, debounceTime, customClasses, type = "text", placeholder = "", isInputValidForCommit, placeholderIcon = null, selectAllOnFocus = false, limit }) => {
6
+ const [input, setInput] = useState(initialInput);
7
+ const [timer, setTimer] = useState();
8
+ const inputRef = useRef(null);
9
+ const handleFocus = () => {
10
+ var _a, _b;
11
+ if (selectAllOnFocus) {
12
+ (_b = (_a = inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) === null || _a === void 0 ? void 0 : _a.select) === null || _b === void 0 ? void 0 : _b.call(_a);
13
+ }
14
+ };
15
+ useEffect(() => {
16
+ setInput(initialInput);
17
+ }, []);
18
+ const isValidLimitation = (value) => {
19
+ if (limit) {
20
+ return value >= limit.min && value <= limit.max;
21
+ }
22
+ return true;
23
+ };
24
+ const onInputChanged = (event) => {
25
+ if (type === 'num' && (Number(event.target.value) !== Number(event.target.value) * 1)) {
26
+ return;
27
+ }
28
+ if (type === 'number' && !isValidLimitation(Number(event.target.value))) {
29
+ return;
30
+ }
31
+ clearTimeout(timer);
32
+ setInput(event.target.value);
33
+ onChange(event.target.value);
34
+ const isValid = !isInputValidForCommit || isInputValidForCommit(event.target.value);
35
+ if (!isValid) {
36
+ return;
37
+ }
38
+ const key = setTimeout(() => {
39
+ onCompleted(event.target.value);
40
+ }, debounceTime);
41
+ setTimer(key);
42
+ };
43
+ const onClick = (event) => {
44
+ event.stopPropagation();
45
+ };
46
+ return (_jsxs("div", Object.assign({ className: clsx(classes.inputContainer, customClasses === null || customClasses === void 0 ? void 0 : customClasses.container) }, { children: [!String(input).length && placeholderIcon ? placeholderIcon : null, _jsx("input", { ref: inputRef, type: type, value: input, onChange: onInputChanged, placeholder: placeholder, className: customClasses === null || customClasses === void 0 ? void 0 : customClasses.input, onMouseDown: onClick, onMouseUp: onClick, onClick: onClick, onFocus: handleFocus })] })));
47
+ };
48
+ export default Input;
49
+ //# sourceMappingURL=Input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../../../../src/components/Input/Input.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {useEffect, useRef, useState} from 'react';\r\nimport classes from './styles.module.css';\r\nimport clsx from \"clsx\";\r\nexport interface Props {\r\n initialInput: string | number;\r\n onChange: (input: string) => void;\r\n onCompleted: (input: string) => void;\r\n debounceTime: number;\r\n customClasses?: {\r\n container?: string;\r\n input?: string;\r\n }\r\n type?: string;\r\n placeholder?: string;\r\n\r\n isInputValidForCommit?: (userInput: string) => boolean;\r\n\r\n placeholderIcon?: JSX.Element;\r\n selectAllOnFocus?: boolean;\r\n limit?: {min: number, max: number}\r\n}\r\n\r\nconst Input: React.FC<Props> = ({initialInput, onChange, onCompleted, debounceTime, customClasses, type=\"text\", placeholder =\"\", isInputValidForCommit, placeholderIcon=null, selectAllOnFocus = false, limit}) => {\r\n\r\n const [input, setInput] = useState(initialInput);\r\n const [timer, setTimer] = useState<NodeJS.Timeout>();\r\n const inputRef = useRef(null);\r\n const handleFocus = () => {\r\n if (selectAllOnFocus) {\r\n (inputRef?.current as any)?.select?.();\r\n }\r\n };\r\n useEffect(() => {\r\n setInput(initialInput);\r\n }, []);\r\n\r\n const isValidLimitation = (value: number) => {\r\n if(limit) {\r\n return value >= limit.min && value <= limit.max\r\n }\r\n return true\r\n }\r\n\r\n const onInputChanged = (event: any) => {\r\n if(type === 'num' && (Number(event.target.value) !== Number(event.target.value) * 1)) {\r\n return;\r\n }\r\n if(type === 'number' && !isValidLimitation(Number(event.target.value))){\r\n return;\r\n }\r\n clearTimeout(timer);\r\n setInput(event.target.value);\r\n onChange(event.target.value);\r\n const isValid = !isInputValidForCommit || isInputValidForCommit(event.target.value);\r\n if(!isValid) {\r\n return;\r\n }\r\n const key = setTimeout(() => {\r\n onCompleted(event.target.value);\r\n }, debounceTime);\r\n setTimer(key);\r\n }\r\n\r\n const onClick = (event: any) => {\r\n event.stopPropagation();\r\n }\r\n\r\n return (\r\n <div className={clsx(classes.inputContainer, customClasses?.container)}>\r\n {!String(input).length && placeholderIcon ? placeholderIcon : null}\r\n <input ref={inputRef}\r\n type={type} value={input} onChange={onInputChanged} placeholder={placeholder}\r\n className={customClasses?.input} onMouseDown={onClick} onMouseUp={onClick} onClick={onClick}\r\n onFocus={handleFocus}/>\r\n </div>\r\n )\r\n};\r\n\r\nexport default Input;\r\n"]}
@@ -0,0 +1 @@
1
+ export { default } from "./Input";
@@ -0,0 +1,2 @@
1
+ export { default } from "./Input";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/components/Input/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC","sourcesContent":["export { default } from \"./Input\";\r\n"]}
@@ -0,0 +1,9 @@
1
+ import { Facet } from "@fast-simon/utilities";
2
+ interface Props {
3
+ facet: Facet;
4
+ onChange: (facetName: string, narrowName: string, updateSingleNarrow?: boolean, fromDate?: string, toDate?: string) => void;
5
+ narrow?: Set<string>;
6
+ disableSelect?: boolean;
7
+ }
8
+ export declare function LastReceivedDate({ facet, onChange, narrow, disableSelect }: Props): import("react/jsx-runtime").JSX.Element;
9
+ export {};
@@ -0,0 +1,88 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React, { useEffect, useState } from 'react';
3
+ import { getDisplayName, formatDateToString } from "./utils";
4
+ import classes from './styles.module.css';
5
+ import classNames from "classnames";
6
+ import { getLastReceivedTimeRange } from "../BackOfficeFiltersMenu/utils";
7
+ import { Radio } from "../RadioFilter/Radio/Radio";
8
+ import ReactDatePicker from "../ReactDatePicker";
9
+ export function LastReceivedDate({ facet, onChange, narrow, disableSelect = false }) {
10
+ var _a, _b;
11
+ const [expanded, setExpanded] = useState(false);
12
+ const [itemsToShow, setItemsToShow] = useState([]);
13
+ let timer;
14
+ const [fromDate, setFromDate] = useState(getDefaultFromDate());
15
+ const [toDate, setToDate] = useState(getDefaultToDate());
16
+ const [pickerFromDate, setPickerFromDate] = useState(getDefaultFromDate());
17
+ const [pickerToDate, setPickerToDate] = useState(getDefaultToDate());
18
+ const [pickerChange, setPickerChange] = useState(false);
19
+ useEffect(() => {
20
+ var _a;
21
+ setItemsToShow((_a = facet === null || facet === void 0 ? void 0 : facet.values) === null || _a === void 0 ? void 0 : _a.slice(0, 5));
22
+ }, [facet]);
23
+ useEffect(() => {
24
+ var _a;
25
+ if (((_a = facet === null || facet === void 0 ? void 0 : facet.values) === null || _a === void 0 ? void 0 : _a.length) <= (itemsToShow === null || itemsToShow === void 0 ? void 0 : itemsToShow.length)) {
26
+ setExpanded(true);
27
+ }
28
+ }, [itemsToShow]);
29
+ const handleShowMoreClick = () => {
30
+ setItemsToShow(facet === null || facet === void 0 ? void 0 : facet.values);
31
+ setExpanded(true);
32
+ };
33
+ const handleShowLessClick = () => {
34
+ var _a;
35
+ setItemsToShow((_a = facet === null || facet === void 0 ? void 0 : facet.values) === null || _a === void 0 ? void 0 : _a.slice(0, 5));
36
+ setExpanded(true);
37
+ };
38
+ const onFacetClicked = (name) => {
39
+ clearTimeout(timer);
40
+ timer = setTimeout(() => {
41
+ onChange(facet.id, name, undefined, (name === null || name === void 0 ? void 0 : name.toLowerCase()) === 'custom' ? (fromDate ? formatDateToString(fromDate) : '') : undefined, (name === null || name === void 0 ? void 0 : name.toLowerCase()) === 'custom' ? (toDate ? formatDateToString(toDate) : '') : undefined);
42
+ }, 750);
43
+ };
44
+ function isChecked(name) {
45
+ var _a;
46
+ let narrowName = name;
47
+ if (facet.id === 'merch_lrt') {
48
+ let todayValue = (_a = getLastReceivedTimeRange('today', '', '')) !== null && _a !== void 0 ? _a : '';
49
+ if (narrow && name.toLowerCase() === 'today' && (narrow === null || narrow === void 0 ? void 0 : narrow.has(todayValue))) {
50
+ return true;
51
+ }
52
+ else if (name.toLowerCase() === 'custom' && !(narrow === null || narrow === void 0 ? void 0 : narrow.has(todayValue)) && (narrow === null || narrow === void 0 ? void 0 : narrow.size)) {
53
+ return true;
54
+ }
55
+ else if (name.toLowerCase() === 'all' && !(narrow === null || narrow === void 0 ? void 0 : narrow.size)) {
56
+ return true;
57
+ }
58
+ }
59
+ return !!(narrow === null || narrow === void 0 ? void 0 : narrow.has(narrowName));
60
+ }
61
+ function onFromDateValueChange(value) {
62
+ setPickerChange(true);
63
+ setFromDate(new Date(value));
64
+ }
65
+ function onToDateValueChange(value) {
66
+ setPickerChange(true);
67
+ setToDate(new Date(value));
68
+ }
69
+ useEffect(() => { if (pickerChange) {
70
+ onFacetClicked('custom');
71
+ setPickerChange(false);
72
+ } }, [fromDate, toDate]);
73
+ function getDefaultFromDate() {
74
+ const today = new Date();
75
+ const todayTimestamp = new Date(today.getFullYear(), today.getMonth(), today.getDate() - 7);
76
+ return todayTimestamp;
77
+ }
78
+ function getDefaultToDate() {
79
+ const today = new Date();
80
+ const tomorrowTimestamp = new Date(today.getFullYear(), today.getMonth(), today.getDate() + 1);
81
+ return tomorrowTimestamp;
82
+ }
83
+ return (_jsxs("div", Object.assign({ className: classes.fsOptions, style: { opacity: disableSelect ? 0.5 : 1, pointerEvents: disableSelect ? 'none' : 'auto' } }, { children: [itemsToShow.map(value => {
84
+ var _a;
85
+ return (_jsxs(React.Fragment, { children: [_jsx("span", Object.assign({ onClick: () => onFacetClicked(value.name) }, { children: _jsx(Radio, Object.assign({ isChecked: !(narrow === null || narrow === void 0 ? void 0 : narrow.size) && value.name.toLowerCase() === 'all' ? true : isChecked(value.name), id: value.name, onChange: () => onFacetClicked(value.name), ariaLabel: getDisplayName(value.displayName) }, { children: _jsx("span", Object.assign({ className: "filters-option-text fs-serp-filter-text" }, { children: getDisplayName(value.displayName) })) })) }), 'fs-checkbox-' + value.name), ((_a = value === null || value === void 0 ? void 0 : value.name) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === 'custom' && isChecked(value.name) ? (_jsxs("span", Object.assign({ className: classes.fsFacetContainer }, { children: [_jsx("div", Object.assign({ className: classes.fsFacetOptions }, { children: _jsx(ReactDatePicker, { selected: pickerFromDate, onChange: onFromDateValueChange }, 'from-date-picker-' + value.name) })), _jsx("div", Object.assign({ className: classes.fsFacetOptions }, { children: _jsx(ReactDatePicker, { selected: pickerToDate, onChange: onToDateValueChange }, 'to-date-picker-' + value.name) }))] }), 'fs-facet-container-' + value.name)) : null] }, 'fs-item-' + value.name));
86
+ }), expanded && ((_a = facet === null || facet === void 0 ? void 0 : facet.values) === null || _a === void 0 ? void 0 : _a.length) !== (itemsToShow === null || itemsToShow === void 0 ? void 0 : itemsToShow.length) ? (_jsx("span", Object.assign({ onClick: handleShowLessClick, className: classes.showMore }, { children: _jsxs("small", { children: ["Show Less\u00A0\u00A0\u00A0", _jsx("i", { className: classNames(classes.arrow, classes.down) })] }) }))) : ((_b = facet === null || facet === void 0 ? void 0 : facet.values) === null || _b === void 0 ? void 0 : _b.length) !== (itemsToShow === null || itemsToShow === void 0 ? void 0 : itemsToShow.length) ? (_jsx("span", Object.assign({ onClick: handleShowMoreClick, className: classes.showMore }, { children: _jsxs("small", { children: ["Show more\u00A0\u00A0\u00A0", _jsx("i", { className: classNames(classes.arrow, classes.down) })] }) }))) : null] })));
87
+ }
88
+ //# sourceMappingURL=LastReceivedDate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LastReceivedDate.js","sourceRoot":"","sources":["../../../../../../src/components/LastReceivedDateFilter/LastReceivedDate.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {useEffect, useState} from 'react';\r\nimport {Facet} from \"@fast-simon/utilities\";\r\nimport {getDisplayName, formatDateToString} from \"./utils\";\r\nimport classes from './styles.module.css';\r\nimport classNames from \"classnames\";\r\nimport {getLastReceivedTimeRange} from \"../BackOfficeFiltersMenu/utils\";\r\nimport {Radio} from \"../RadioFilter/Radio/Radio\";\r\nimport ReactDatePicker from \"../ReactDatePicker\";\r\n\r\ninterface Props {\r\n facet: Facet;\r\n onChange: (facetName: string, narrowName: string, updateSingleNarrow?: boolean, fromDate?: string, toDate?: string) => void;\r\n narrow?: Set<string>;\r\n disableSelect?: boolean;\r\n}\r\n\r\nexport function LastReceivedDate({facet, onChange, narrow, disableSelect=false}: Props) {\r\n const [expanded, setExpanded] = useState(false);\r\n const [itemsToShow, setItemsToShow] = useState<any[]>([]);\r\n let timer: string | number | NodeJS.Timeout | undefined;\r\n const [fromDate, setFromDate] = useState<Date>(getDefaultFromDate());\r\n const [toDate, setToDate] = useState<Date>(getDefaultToDate());\r\n const [pickerFromDate, setPickerFromDate] = useState<Date>(getDefaultFromDate());\r\n const [pickerToDate, setPickerToDate] = useState<Date>(getDefaultToDate());\r\n const [pickerChange, setPickerChange] = useState<boolean>(false);\r\n useEffect(() => {\r\n setItemsToShow(facet?.values?.slice(0,5));\r\n }, [facet]);\r\n\r\n useEffect(() => {\r\n if (facet?.values?.length <= itemsToShow?.length) {\r\n setExpanded(true);\r\n }\r\n }, [itemsToShow]);\r\n\r\n const handleShowMoreClick = () => {\r\n setItemsToShow(facet?.values);\r\n setExpanded(true);\r\n }\r\n\r\n const handleShowLessClick = () => {\r\n setItemsToShow(facet?.values?.slice(0,5));\r\n setExpanded(true);\r\n }\r\n\r\n const onFacetClicked = (name: string) => {\r\n clearTimeout(timer);\r\n timer = setTimeout(() => {\r\n onChange(facet.id , name, undefined,name?.toLowerCase() === 'custom'? (fromDate?formatDateToString(fromDate):'') : undefined,name?.toLowerCase() === 'custom'? (toDate?formatDateToString(toDate):''): undefined);\r\n }, 750);\r\n }\r\n function isChecked(name: string) {\r\n let narrowName = name;\r\n if (facet.id === 'merch_lrt') {\r\n let todayValue = getLastReceivedTimeRange('today', '', '')??'';\r\n if(narrow && name.toLowerCase() === 'today' && narrow?.has(todayValue)) {\r\n return true;\r\n } else if(name.toLowerCase() === 'custom' && !narrow?.has(todayValue) && narrow?.size) {\r\n return true;\r\n }\r\n else if(name.toLowerCase() === 'all' && !narrow?.size) {\r\n return true;\r\n }\r\n }\r\n return !!narrow?.has(narrowName)\r\n }\r\n\r\n function onFromDateValueChange(value: number) {\r\n setPickerChange(true);\r\n setFromDate(new Date(value));\r\n }\r\n\r\n function onToDateValueChange(value: number) {\r\n setPickerChange(true);\r\n setToDate(new Date(value));\r\n }\r\nuseEffect(() =>{if(pickerChange) {onFacetClicked('custom');setPickerChange(false);}},[fromDate,toDate])\r\n\r\n function getDefaultFromDate() {\r\n const today = new Date();\r\n const todayTimestamp = new Date(today.getFullYear(), today.getMonth(), today.getDate() -7);\r\n return todayTimestamp;\r\n }\r\n\r\n function getDefaultToDate() {\r\n const today = new Date();\r\n const tomorrowTimestamp = new Date(today.getFullYear(), today.getMonth(), today.getDate() + 1);\r\n return tomorrowTimestamp;\r\n }\r\n\r\n return (\r\n <div className={classes.fsOptions} style={{ opacity: disableSelect ? 0.5 : 1, pointerEvents: disableSelect ? 'none' : 'auto' }}>\r\n {itemsToShow.map(value => (\r\n <React.Fragment key={'fs-item-' + value.name}>\r\n <span key={'fs-checkbox-' + value.name} onClick={() => onFacetClicked(value.name)}>\r\n <Radio\r\n isChecked={!(narrow?.size) && value.name.toLowerCase() === 'all' ? true : isChecked(value.name)}\r\n id={value.name}\r\n onChange={() => onFacetClicked(value.name)}\r\n ariaLabel={getDisplayName(value.displayName)}\r\n >\r\n <span className=\"filters-option-text fs-serp-filter-text\">{getDisplayName(value.displayName)}</span>\r\n </Radio>\r\n </span>\r\n {value?.name?.toLowerCase() === 'custom' && isChecked(value.name) ? (\r\n <span key={'fs-facet-container-' + value.name} className={classes.fsFacetContainer}>\r\n <div className={classes.fsFacetOptions}>\r\n <ReactDatePicker key={'from-date-picker-' + value.name} selected={pickerFromDate}\r\n onChange={onFromDateValueChange}/>\r\n </div>\r\n <div className={classes.fsFacetOptions}>\r\n <ReactDatePicker key={'to-date-picker-' + value.name} selected={pickerToDate}\r\n onChange={onToDateValueChange}/>\r\n </div>\r\n </span>\r\n ) : null}\r\n </React.Fragment>\r\n ))}\r\n {expanded && facet?.values?.length !== itemsToShow?.length ? (\r\n <span onClick={handleShowLessClick} className={classes.showMore}>\r\n <small>Show Less&nbsp;&nbsp;&nbsp;<i className={classNames(classes.arrow, classes.down)}/></small>\r\n </span>\r\n ) : facet?.values?.length !== itemsToShow?.length ? (\r\n <span onClick={handleShowMoreClick} className={classes.showMore}>\r\n <small>Show more&nbsp;&nbsp;&nbsp;<i className={classNames(classes.arrow, classes.down)}/></small>\r\n </span>\r\n ) : null}\r\n </div>\r\n )\r\n\r\n}\r\n\r\n"]}
@@ -0,0 +1,3 @@
1
+ export declare const getDisplayName: (displayName: string) => string;
2
+ export declare const formatDateToString: (date: Date) => string;
3
+ export declare const getLastReceivedTimeRange: (selectedType: string, fromDate: string, toDate: string) => string | undefined;
@@ -0,0 +1,43 @@
1
+ export const getDisplayName = (displayName) => {
2
+ let splittedName = displayName === null || displayName === void 0 ? void 0 : displayName.split(':');
3
+ if (splittedName === null || splittedName === void 0 ? void 0 : splittedName[1]) {
4
+ return splittedName === null || splittedName === void 0 ? void 0 : splittedName[1];
5
+ }
6
+ return displayName;
7
+ };
8
+ export const formatDateToString = (date) => {
9
+ if (!(date === null || date === void 0 ? void 0 : date.getDate) && typeof date === 'number') {
10
+ console.log(date);
11
+ date = new Date(1688850000000);
12
+ }
13
+ const day = String(date.getDate()).padStart(2, '0');
14
+ const month = String(date.getMonth() + 1).padStart(2, '0');
15
+ const year = String(date.getFullYear());
16
+ return `${day}-${month}-${year}`;
17
+ };
18
+ export const getLastReceivedTimeRange = (selectedType, fromDate, toDate) => {
19
+ const today = new Date();
20
+ const todayTimestamp = new Date(today.getFullYear(), today.getMonth(), today.getDate()).getTime() / 1000;
21
+ const tomorrowTimestamp = new Date(today.getFullYear(), today.getMonth(), today.getDate() + 1).getTime() / 1000;
22
+ if (selectedType.toLowerCase() === 'all') {
23
+ return undefined;
24
+ }
25
+ else if (selectedType.toLowerCase() === 'today') {
26
+ return `${todayTimestamp}-${tomorrowTimestamp}`;
27
+ }
28
+ if (fromDate || toDate) {
29
+ let fromDateTimestamp = 0;
30
+ let toDateTimestamp = tomorrowTimestamp;
31
+ if (fromDate) {
32
+ const fromDateArr = fromDate.split('-');
33
+ fromDateTimestamp = new Date(Number.parseInt(fromDateArr[2]), Number.parseInt(fromDateArr[1]) - 1, Number.parseInt(fromDateArr[0])).getTime() / 1000;
34
+ }
35
+ if (toDate) {
36
+ const toDateArr = toDate.split('-');
37
+ toDateTimestamp = new Date(Number.parseInt(toDateArr[2]), Number.parseInt(toDateArr[1]) - 1, Number.parseInt(toDateArr[0])).getTime() / 1000;
38
+ }
39
+ return `${fromDateTimestamp}-${toDateTimestamp}`;
40
+ }
41
+ return undefined;
42
+ };
43
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../src/components/LastReceivedDateFilter/utils.ts"],"names":[],"mappings":"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","sourcesContent":["\r\nexport const getDisplayName = (displayName: string) => {\r\n let splittedName = displayName?.split(':');\r\n if(splittedName?.[1]){\r\n return splittedName?.[1]\r\n }\r\n return displayName;\r\n};\r\nexport const formatDateToString = (date: Date): string => {\r\n if (!date?.getDate && typeof date === 'number') {\r\n console.log(date)\r\n date = new Date(1688850000000)\r\n }\r\n\r\n const day = String(date.getDate()).padStart(2, '0');\r\n const month = String(date.getMonth() + 1).padStart(2, '0');\r\n const year = String(date.getFullYear());\r\n\r\n return `${day}-${month}-${year}`;\r\n}\r\n\r\nexport const getLastReceivedTimeRange = (selectedType: string, fromDate: string, toDate: string): string | undefined => {\r\n\r\n const today = new Date();\r\n const todayTimestamp = new Date(today.getFullYear(), today.getMonth(), today.getDate()).getTime() / 1000;\r\n const tomorrowTimestamp = new Date(today.getFullYear(), today.getMonth(), today.getDate() + 1).getTime() / 1000;\r\n\r\n if (selectedType.toLowerCase() === 'all') {\r\n return undefined;\r\n\r\n } else if (selectedType.toLowerCase() === 'today') {\r\n return `${todayTimestamp}-${tomorrowTimestamp}`;\r\n }\r\n\r\n if (fromDate || toDate) {\r\n let fromDateTimestamp = 0;\r\n let toDateTimestamp = tomorrowTimestamp;\r\n\r\n if (fromDate) {\r\n const fromDateArr = fromDate.split('-');\r\n fromDateTimestamp = new Date(Number.parseInt(fromDateArr[2]), Number.parseInt(fromDateArr[1]) - 1, Number.parseInt(fromDateArr[0])).getTime() / 1000;\r\n }\r\n\r\n if (toDate) {\r\n const toDateArr = toDate.split('-');\r\n toDateTimestamp = new Date( Number.parseInt(toDateArr[2]), Number.parseInt(toDateArr[1]) - 1,Number.parseInt(toDateArr[0])).getTime() / 1000;\r\n }\r\n\r\n return `${fromDateTimestamp}-${toDateTimestamp}`;\r\n }\r\n\r\n return undefined;\r\n}"]}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ interface Props {
3
+ isChecked: boolean;
4
+ ariaLabel?: string;
5
+ children: React.ReactNode;
6
+ onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
7
+ id?: string;
8
+ }
9
+ export declare function Radio({ isChecked, ariaLabel, children, onChange, id }: Props): import("react/jsx-runtime").JSX.Element;
10
+ export {};
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import classes from './styles.module.css';
3
+ import classNames from "classnames";
4
+ export function Radio({ isChecked, ariaLabel, children, onChange, id }) {
5
+ return (_jsx(_Fragment, { children: _jsxs("div", Object.assign({ className: classNames(classes.checkbox, classes.fsCheckbox, isChecked ? classes.fsSelectedCheckboxTrue : classes.fsSelectedCheckboxFalse) }, { children: [_jsx("input", { type: "radio", checked: isChecked, onChange: onChange, "aria-label": ariaLabel, id: id }), _jsx("span", { className: classNames(classes.checkmark, classes.fsSerpCheckmark) }), _jsxs("span", Object.assign({ className: classNames(classes.checkboxLabel, classes.fsCheckboxLabel) }, { children: [children, _jsx("slot", {})] }))] })) }));
6
+ }
7
+ //# sourceMappingURL=Radio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Radio.js","sourceRoot":"","sources":["../../../../../../../src/components/RadioFilter/Radio/Radio.tsx"],"names":[],"mappings":";AAEA,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,UAAU,MAAM,YAAY,CAAC;AAUpC,MAAM,UAAU,KAAK,CAAC,EAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAQ;IACvE,OAAO,CACH,4BACI,6BAAK,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,EAAE,SAAS,CAAA,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAA,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,iBACxI,gBAAO,IAAI,EAAC,OAAO,EAAC,OAAO,EAAE,SAAS,EACnC,QAAQ,EAAE,QAAQ,gBACF,SAAS,EACxB,EAAE,EAAE,EAAE,GACR,EACE,eAAM,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,eAAe,CAAC,GAAU,EACjF,8BAAM,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,eAAe,CAAC,iBACtE,QAAQ,EACb,gBAAO,KACJ,KAEL,GACP,CACV,CAAA;AAED,CAAC","sourcesContent":["import React, {useEffect, useState} from 'react';\r\nimport {Facet} from \"@fast-simon/utilities\";\r\nimport classes from './styles.module.css';\r\nimport classNames from \"classnames\";\r\n\r\ninterface Props {\r\n isChecked: boolean;\r\n ariaLabel?: string;\r\n children: React.ReactNode,\r\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void,\r\n id?: string\r\n}\r\n\r\nexport function Radio({isChecked, ariaLabel, children, onChange, id}: Props) {\r\n return (\r\n <>\r\n <div className={classNames(classes.checkbox, classes.fsCheckbox, isChecked? classes.fsSelectedCheckboxTrue: classes.fsSelectedCheckboxFalse)}>\r\n <input type=\"radio\" checked={isChecked}\r\n onChange={onChange}\r\n aria-label={ariaLabel}\r\n id={id}\r\n />\r\n <span className={classNames(classes.checkmark, classes.fsSerpCheckmark)} ></span>\r\n <span className={classNames(classes.checkboxLabel, classes.fsCheckboxLabel)}>\r\n {children}\r\n <slot/>\r\n </span>\r\n\r\n </div>\r\n </>\r\n)\r\n\r\n}"]}
@@ -0,0 +1,9 @@
1
+ import { Facet } from "@fast-simon/utilities";
2
+ interface Props {
3
+ facet: Facet;
4
+ onChange: (facetName: string, narrowName: string) => void;
5
+ narrow?: Set<string>;
6
+ disableSelect?: boolean;
7
+ }
8
+ export declare function RadioFilter({ facet, onChange, narrow, disableSelect }: Props): import("react/jsx-runtime").JSX.Element;
9
+ export {};
@@ -0,0 +1,45 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useState } from 'react';
3
+ import { getDisplayName } from "./utils";
4
+ import classes from './styles.module.css';
5
+ import classNames from "classnames";
6
+ import { Radio } from "./Radio/Radio";
7
+ export function RadioFilter({ facet, onChange, narrow, disableSelect = false }) {
8
+ var _a, _b;
9
+ const [expanded, setExpanded] = useState(false);
10
+ const [itemsToShow, setItemsToShow] = useState([]);
11
+ let timer;
12
+ useEffect(() => {
13
+ var _a;
14
+ setItemsToShow((_a = facet === null || facet === void 0 ? void 0 : facet.values) === null || _a === void 0 ? void 0 : _a.slice(0, 5));
15
+ }, [facet]);
16
+ useEffect(() => {
17
+ var _a;
18
+ if (((_a = facet === null || facet === void 0 ? void 0 : facet.values) === null || _a === void 0 ? void 0 : _a.length) <= (itemsToShow === null || itemsToShow === void 0 ? void 0 : itemsToShow.length)) {
19
+ setExpanded(true);
20
+ }
21
+ }, [itemsToShow]);
22
+ const handleShowMoreClick = () => {
23
+ setItemsToShow(facet === null || facet === void 0 ? void 0 : facet.values);
24
+ setExpanded(true);
25
+ };
26
+ const handleShowLessClick = () => {
27
+ var _a;
28
+ setItemsToShow((_a = facet === null || facet === void 0 ? void 0 : facet.values) === null || _a === void 0 ? void 0 : _a.slice(0, 5));
29
+ setExpanded(true);
30
+ };
31
+ const onFacetClicked = (name) => {
32
+ clearTimeout(timer);
33
+ timer = setTimeout(() => {
34
+ onChange(facet.id, name);
35
+ }, 750);
36
+ };
37
+ return (_jsxs("div", Object.assign({ className: classes.fsOptions, style: { opacity: disableSelect ? 0.5 : 1, pointerEvents: disableSelect ? 'none' : 'auto' } }, { children: [itemsToShow.map(value => {
38
+ return (_jsx("span", Object.assign({ onClick: () => onFacetClicked(value.name) }, { children: _jsx(Radio, Object.assign({ isChecked: !!(narrow === null || narrow === void 0 ? void 0 : narrow.has(value.name)), id: value.name, onChange: () => { onFacetClicked(value.name); }, ariaLabel: getDisplayName(value.displayName) }, { children: _jsx("span", Object.assign({ className: "filters-option-text fs-serp-filter-text" }, { children: getDisplayName(value.displayName) })) })) }), 'fs-checkbox-' + value.name));
39
+ }), expanded && ((_a = facet === null || facet === void 0 ? void 0 : facet.values) === null || _a === void 0 ? void 0 : _a.length) !== (itemsToShow === null || itemsToShow === void 0 ? void 0 : itemsToShow.length) ?
40
+ _jsx("span", Object.assign({ onClick: handleShowLessClick, className: classes.showMore }, { children: _jsxs("small", { children: ["Show Less\u00A0\u00A0\u00A0", _jsx("i", { className: classNames(classes.arrow, classes.down) })] }) }))
41
+ :
42
+ ((_b = facet === null || facet === void 0 ? void 0 : facet.values) === null || _b === void 0 ? void 0 : _b.length) !== (itemsToShow === null || itemsToShow === void 0 ? void 0 : itemsToShow.length) ?
43
+ _jsx("span", Object.assign({ onClick: handleShowMoreClick, className: classes.showMore }, { children: _jsxs("small", { children: ["Show more\u00A0\u00A0\u00A0", _jsx("i", { className: classNames(classes.arrow, classes.down) })] }) })) : null] })));
44
+ }
45
+ //# sourceMappingURL=RadioFilter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioFilter.js","sourceRoot":"","sources":["../../../../../../src/components/RadioFilter/RadioFilter.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {useEffect, useState} from 'react';\r\nimport {Facet} from \"@fast-simon/utilities\";\r\nimport {getDisplayName} from \"./utils\";\r\nimport classes from './styles.module.css';\r\nimport classNames from \"classnames\";\r\nimport {Radio} from \"./Radio/Radio\";\r\n\r\ninterface Props {\r\n facet: Facet;\r\n onChange: (facetName: string, narrowName: string) => void;\r\n narrow?: Set<string>;\r\n disableSelect?: boolean;\r\n}\r\n\r\nexport function RadioFilter({facet, onChange, narrow, disableSelect=false}: Props) {\r\n const [expanded, setExpanded] = useState(false);\r\n const [itemsToShow, setItemsToShow] = useState<any[]>([]);\r\n let timer: string | number | NodeJS.Timeout | undefined;\r\n\r\n useEffect(() => {\r\n setItemsToShow(facet?.values?.slice(0,5));\r\n }, [facet]);\r\n\r\n useEffect(() => {\r\n if (facet?.values?.length <= itemsToShow?.length) {\r\n setExpanded(true);\r\n }\r\n }, [itemsToShow]);\r\n\r\n const handleShowMoreClick = () => {\r\n setItemsToShow(facet?.values);\r\n setExpanded(true);\r\n }\r\n\r\n const handleShowLessClick = () => {\r\n setItemsToShow(facet?.values?.slice(0,5));\r\n setExpanded(true);\r\n }\r\n\r\n const onFacetClicked = (name: string) => {\r\n clearTimeout(timer);\r\n timer = setTimeout(() => {\r\n onChange(facet.id , name);\r\n }, 750);\r\n }\r\n\r\n return (\r\n <div className={classes.fsOptions} style={{ opacity: disableSelect ? 0.5 : 1, pointerEvents: disableSelect ? 'none' : 'auto' }}>\r\n {\r\n itemsToShow.map(value => {\r\n return (\r\n <span key={'fs-checkbox-'+ value.name} onClick={() => onFacetClicked(value.name)}>\r\n <Radio isChecked={!!narrow?.has(value.name)} id={value.name} onChange={() => {onFacetClicked(value.name)}} ariaLabel={getDisplayName(value.displayName)}>\r\n <span className=\"filters-option-text fs-serp-filter-text\">{getDisplayName(value.displayName)}</span>\r\n </Radio>\r\n </span>\r\n )\r\n })\r\n }\r\n {expanded && facet?.values?.length !== itemsToShow?.length ?\r\n <span onClick={handleShowLessClick} className={classes.showMore}><small>Show Less&nbsp;&nbsp;&nbsp;<i\r\n className={classNames(classes.arrow, classes.down)}/></small>\r\n </span>\r\n :\r\n facet?.values?.length !== itemsToShow?.length ?\r\n <span onClick={handleShowMoreClick} className={classes.showMore}><small>Show more&nbsp;&nbsp;&nbsp;<i\r\n className={classNames(classes.arrow, classes.down)}/></small>\r\n </span> : null\r\n }\r\n </div>\r\n\r\n )\r\n\r\n}\r\n\r\n"]}
@@ -0,0 +1 @@
1
+ export declare const getDisplayName: (displayName: string) => string;
@@ -0,0 +1,8 @@
1
+ export const getDisplayName = (displayName) => {
2
+ let splittedName = displayName === null || displayName === void 0 ? void 0 : displayName.split(':');
3
+ if (splittedName === null || splittedName === void 0 ? void 0 : splittedName[1]) {
4
+ return splittedName === null || splittedName === void 0 ? void 0 : splittedName[1];
5
+ }
6
+ return displayName;
7
+ };
8
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../src/components/RadioFilter/utils.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,WAAmB,EAAE,EAAE;IAClD,IAAI,YAAY,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,CAAC,CAAC,EAAC;QACjB,OAAO,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,CAAC,CAAC,CAAA;KAC3B;IACD,OAAO,WAAW,CAAC;AACvB,CAAC,CAAC","sourcesContent":["\r\nexport const getDisplayName = (displayName: string) => {\r\n let splittedName = displayName?.split(':');\r\n if(splittedName?.[1]){\r\n return splittedName?.[1]\r\n }\r\n return displayName;\r\n};"]}
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ import "react-datepicker/dist/react-datepicker.css";
3
+ export interface Props {
4
+ startDate?: Date;
5
+ endDate?: Date;
6
+ selected?: Date;
7
+ onChange?: (date: any) => void;
8
+ placeholder?: string;
9
+ }
10
+ declare const ReactDatePicker: React.FC<Props>;
11
+ export default ReactDatePicker;
@@ -0,0 +1,16 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useEffect, useState } from "react";
3
+ import DatePicker from "react-datepicker";
4
+ import classes from './styles.module.css';
5
+ import "react-datepicker/dist/react-datepicker.css";
6
+ // CSS Modules, react-datepicker-cssmodules.css
7
+ // import 'react-datepicker/dist/react-datepicker-cssmodules.css';
8
+ const ReactDatePicker = ({ startDate, endDate, selected, onChange, placeholder }) => {
9
+ const [selectedDate, setSelectedDate] = useState(selected ? selected : new Date());
10
+ useEffect(() => {
11
+ setSelectedDate(selected);
12
+ }, [selected]);
13
+ return (_jsx(DatePicker, { className: classes.fullWidthInput, placeholderText: placeholder, selected: selectedDate, onChange: (date) => { setSelectedDate(date); onChange === null || onChange === void 0 ? void 0 : onChange(date === null || date === void 0 ? void 0 : date.getTime()); } }));
14
+ };
15
+ export default ReactDatePicker;
16
+ //# sourceMappingURL=ReactDatePicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReactDatePicker.js","sourceRoot":"","sources":["../../../../../../src/components/ReactDatePicker/ReactDatePicker.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AACjD,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAE1C,OAAO,4CAA4C,CAAC;AASpD,+CAA+C;AAC/C,kEAAkE;AAElE,MAAM,eAAe,GAAoB,CAAC,EAAC,SAAS,EAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAC,EAAE,EAAE;IAChG,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAiB,QAAQ,CAAA,CAAC,CAAC,QAAQ,CAAA,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACjG,SAAS,CAAC,GAAG,EAAE;QACb,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC,EAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;IACb,OAAO,CACL,KAAC,UAAU,IAAC,SAAS,EAAE,OAAO,CAAC,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,IAAS,EAAE,EAAE,GAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAI,IAAa,aAAb,IAAI,uBAAJ,IAAI,CAAW,OAAO,EAAE,CAAC,CAAC,CAAA,CAAC,GAAI,CAClM,CAAC;AACJ,CAAC,CAAC;AACF,eAAgB,eAAe,CAAC","sourcesContent":["import React, {useEffect, useState} from \"react\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport classes from './styles.module.css';\r\n\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nexport interface Props {\r\n startDate?: Date,\r\n endDate?: Date,\r\n selected?: Date,\r\n onChange?: (date: any) => void;\r\n placeholder?: string;\r\n}\r\n\r\n// CSS Modules, react-datepicker-cssmodules.css\r\n// import 'react-datepicker/dist/react-datepicker-cssmodules.css';\r\n\r\nconst ReactDatePicker: React.FC<Props> = ({startDate,endDate, selected, onChange, placeholder}) => {\r\n const [selectedDate, setSelectedDate] = useState<Date|undefined>(selected? selected: new Date());\r\n useEffect(() => {\r\n setSelectedDate(selected);\r\n },[selected])\r\n return (\r\n <DatePicker className={classes.fullWidthInput} placeholderText={placeholder} selected={selectedDate} onChange={(date: any) => {setSelectedDate(date); onChange?.((date as Date)?.getTime());}} />\r\n );\r\n};\r\nexport default ReactDatePicker;\r\n"]}
@@ -0,0 +1 @@
1
+ export { default } from "./ReactDatePicker";
@@ -0,0 +1,2 @@
1
+ export { default } from "./ReactDatePicker";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/components/ReactDatePicker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC","sourcesContent":["export { default } from \"./ReactDatePicker\";\r\n"]}
@@ -0,0 +1,12 @@
1
+ import React, { RefObject } from "react";
2
+ type Props = {
3
+ defaultHeight: number;
4
+ visibleOffset: number;
5
+ id: string;
6
+ rootElementClass?: string;
7
+ placeholderElementClass?: string;
8
+ children: React.ReactNode;
9
+ rootRef?: RefObject<HTMLDivElement>;
10
+ };
11
+ declare const RenderIfVisible: React.FC<Props>;
12
+ export default RenderIfVisible;
@@ -0,0 +1,59 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useState, useRef, useEffect, createRef } from "react";
3
+ const RenderIfVisible = ({ placeholderElementClass, rootElementClass, id, defaultHeight = 300, visibleOffset = 1000, children, rootRef, }) => {
4
+ const [isVisible, setIsVisible] = useState(false);
5
+ const placeholderHeight = useRef(defaultHeight);
6
+ const intersectionRef = createRef();
7
+ const [observerRef, setObserverRef] = useState();
8
+ const [isCalculated, setIsCalculated] = useState(false);
9
+ // Set visibility with intersection observer
10
+ useEffect(() => {
11
+ if (intersectionRef.current && !isCalculated && (rootRef === null || rootRef === void 0 ? void 0 : rootRef.current)) {
12
+ setIsCalculated(true);
13
+ const observer = new IntersectionObserver((entries) => {
14
+ if (window.requestIdleCallback) {
15
+ window.requestIdleCallback(() => setIsVisible(entries[entries.length - 1].isIntersecting), { timeout: 600 });
16
+ }
17
+ else {
18
+ setIsVisible(entries[entries.length - 1].isIntersecting);
19
+ }
20
+ }, {
21
+ rootMargin: `${visibleOffset}px 0px ${visibleOffset}px 0px`,
22
+ root: rootRef === null || rootRef === void 0 ? void 0 : rootRef.current
23
+ });
24
+ setObserverRef(observer);
25
+ observer.observe(intersectionRef.current);
26
+ return () => {
27
+ if (intersectionRef.current) {
28
+ observer.unobserve(intersectionRef.current);
29
+ }
30
+ };
31
+ }
32
+ }, [rootRef]);
33
+ useEffect(() => {
34
+ return () => {
35
+ if (intersectionRef.current) {
36
+ observerRef === null || observerRef === void 0 ? void 0 : observerRef.unobserve(intersectionRef.current);
37
+ observerRef === null || observerRef === void 0 ? void 0 : observerRef.disconnect();
38
+ }
39
+ setObserverRef(undefined);
40
+ };
41
+ }, []);
42
+ // Set height after render
43
+ useEffect(() => {
44
+ if (intersectionRef.current && isVisible) {
45
+ placeholderHeight.current =
46
+ intersectionRef.current.offsetHeight;
47
+ }
48
+ else if (intersectionRef.current && !isCalculated) {
49
+ setIsCalculated(true);
50
+ }
51
+ }, [isVisible, intersectionRef]);
52
+ return (_jsx("div", Object.assign({ style: {
53
+ width: "100%",
54
+ height: "100%",
55
+ minHeight: isVisible ? '100%' : placeholderHeight.current
56
+ }, ref: intersectionRef, id: id, className: placeholderElementClass }, { children: isVisible && children })));
57
+ };
58
+ export default RenderIfVisible;
59
+ //# sourceMappingURL=RenderIfVisible.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderIfVisible.js","sourceRoot":"","sources":["../../../../../../src/components/RenderIfVisible/RenderIfVisible.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {useState, useRef, useEffect, createRef, RefObject} from \"react\";\r\n\r\ntype Props = {\r\n defaultHeight: number;\r\n visibleOffset: number;\r\n id: string;\r\n rootElementClass?: string;\r\n placeholderElementClass?: string;\r\n children: React.ReactNode;\r\n rootRef?: RefObject<HTMLDivElement>;\r\n};\r\n\r\nconst RenderIfVisible: React.FC<Props> = (\r\n {\r\n placeholderElementClass,\r\n rootElementClass,\r\n id,\r\n defaultHeight = 300,\r\n visibleOffset = 1000,\r\n children,\r\n rootRef,\r\n }\r\n) => {\r\n const [isVisible, setIsVisible] = useState<boolean>(false);\r\n const placeholderHeight = useRef<number>(defaultHeight);\r\n const intersectionRef = createRef<HTMLDivElement>();\r\n const [observerRef, setObserverRef] = useState<IntersectionObserver>();\r\n const [isCalculated, setIsCalculated] = useState(false);\r\n\r\n // Set visibility with intersection observer\r\n useEffect(() => {\r\n if (intersectionRef.current && !isCalculated && rootRef?.current) {\r\n setIsCalculated(true);\r\n const observer = new IntersectionObserver(\r\n (entries) => {\r\n if (window.requestIdleCallback) {\r\n window.requestIdleCallback(() => setIsVisible(entries[entries.length - 1].isIntersecting), {timeout: 600});\r\n } else {\r\n setIsVisible(entries[entries.length - 1].isIntersecting);\r\n }\r\n },\r\n {\r\n rootMargin: `${visibleOffset}px 0px ${visibleOffset}px 0px`,\r\n root: rootRef?.current\r\n }\r\n );\r\n setObserverRef(observer);\r\n observer.observe(intersectionRef.current);\r\n return () => {\r\n if (intersectionRef.current) {\r\n observer.unobserve(intersectionRef.current);\r\n }\r\n };\r\n }\r\n }, [rootRef]);\r\n\r\n useEffect(() => {\r\n return () => {\r\n if (intersectionRef.current) {\r\n observerRef?.unobserve(intersectionRef.current);\r\n observerRef?.disconnect();\r\n }\r\n setObserverRef(undefined);\r\n };\r\n }, []);\r\n\r\n // Set height after render\r\n useEffect(() => {\r\n if (intersectionRef.current && isVisible) {\r\n placeholderHeight.current =\r\n intersectionRef.current.offsetHeight;\r\n } else if (intersectionRef.current && !isCalculated) {\r\n setIsCalculated(true);\r\n }\r\n }, [isVisible, intersectionRef]);\r\n\r\n return (\r\n <div\r\n style={{\r\n width: \"100%\",\r\n height: \"100%\",\r\n minHeight: isVisible ? '100%' : placeholderHeight.current\r\n }}\r\n ref={intersectionRef}\r\n id={id}\r\n className={placeholderElementClass}\r\n >\r\n {isVisible && children}\r\n </div>\r\n );\r\n}\r\n\r\nexport default RenderIfVisible;\r\n"]}
@@ -0,0 +1 @@
1
+ export { default } from "./RenderIfVisible";
@@ -0,0 +1,2 @@
1
+ export { default } from "./RenderIfVisible";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/components/RenderIfVisible/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC","sourcesContent":["export { default } from \"./RenderIfVisible\";\r\n"]}
@@ -0,0 +1,11 @@
1
+ import { Facet } from "@fast-simon/utilities";
2
+ interface Props {
3
+ facet: Facet;
4
+ onChange: (facetName: string, narrowName: string, updateSingleNarrow?: boolean) => void;
5
+ narrow?: Set<string>;
6
+ disableSelect?: boolean;
7
+ onNarrowChange: (narrow: any) => void;
8
+ onPageChange: (page: number) => void;
9
+ }
10
+ export declare function SingleFilter({ facet, onChange, narrow, disableSelect, onNarrowChange, onPageChange }: Props): import("react/jsx-runtime").JSX.Element;
11
+ export {};