@blaze-cms/react-page-builder 0.146.0-alpha.0 → 0.146.0-alpha.13

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 (287) hide show
  1. package/CHANGELOG.md +86 -0
  2. package/lib/components/BackToTop/BackToTop.js +8 -13
  3. package/lib/components/BackToTop/BackToTop.js.map +1 -1
  4. package/lib/components/Card/Card.js +19 -12
  5. package/lib/components/Card/Card.js.map +1 -1
  6. package/lib/components/Card/CardsContainer.js +8 -4
  7. package/lib/components/Card/CardsContainer.js.map +1 -1
  8. package/lib/components/Card/CardsFactory.js +37 -7
  9. package/lib/components/Card/CardsFactory.js.map +1 -1
  10. package/lib/components/Card/CardsRender.js +8 -4
  11. package/lib/components/Card/CardsRender.js.map +1 -1
  12. package/lib/components/Card/helpers/index.js +6 -6
  13. package/lib/components/Card/helpers/index.js.map +1 -1
  14. package/lib/components/Carousel/CarouselImage/CarouselImage.js +3 -1
  15. package/lib/components/Carousel/CarouselImage/CarouselImage.js.map +1 -1
  16. package/lib/components/Carousel/CarouselImage/constants.js +9 -0
  17. package/lib/components/Carousel/CarouselImage/constants.js.map +1 -0
  18. package/lib/components/CarouselWrapper/DefaultCarousel.js +2 -0
  19. package/lib/components/CarouselWrapper/DefaultCarousel.js.map +1 -1
  20. package/lib/components/ContentGroup/ContentGroupTabs.js +1 -2
  21. package/lib/components/ContentGroup/ContentGroupTabs.js.map +1 -1
  22. package/lib/components/Image/GlobalLightbox/GlobalLightbox.js +3 -3
  23. package/lib/components/Image/GlobalLightbox/GlobalLightbox.js.map +1 -1
  24. package/lib/components/Image/GlobalLightbox/NavButton.js +6 -3
  25. package/lib/components/Image/GlobalLightbox/NavButton.js.map +1 -1
  26. package/lib/components/Image/Image.js +1 -0
  27. package/lib/components/Image/Image.js.map +1 -1
  28. package/lib/components/Image/Lightbox/Lightbox.js +2 -2
  29. package/lib/components/Image/Lightbox/Lightbox.js.map +1 -1
  30. package/lib/components/ItemList/ItemListNew/ItemListNew.js +1 -2
  31. package/lib/components/ItemList/ItemListNew/ItemListNew.js.map +1 -1
  32. package/lib/components/List/ListRender.js.map +1 -1
  33. package/lib/components/List/components/Cards/CardsRender.js.map +1 -1
  34. package/lib/components/List/components/Full/FullRender.js +2 -2
  35. package/lib/components/List/components/Full/FullRender.js.map +1 -1
  36. package/lib/components/Menu/Menu.js +1 -1
  37. package/lib/components/Menu/Menu.js.map +1 -1
  38. package/lib/components/MenuItem/MenuEntitiesItem.js +203 -0
  39. package/lib/components/MenuItem/MenuEntitiesItem.js.map +1 -0
  40. package/lib/components/MenuItem/MenuItem.js +25 -71
  41. package/lib/components/MenuItem/MenuItem.js.map +1 -1
  42. package/lib/components/MenuItem/MenuItemRender.js +104 -0
  43. package/lib/components/MenuItem/MenuItemRender.js.map +1 -0
  44. package/lib/components/MenuItem/helpers/index.js +15 -0
  45. package/lib/components/MenuItem/helpers/index.js.map +1 -0
  46. package/lib/components/MenuItem/helpers/inject-helper-into-template.js +17 -0
  47. package/lib/components/MenuItem/helpers/inject-helper-into-template.js.map +1 -0
  48. package/lib/components/Modal/Modal.js +2 -2
  49. package/lib/components/Modal/Modal.js.map +1 -1
  50. package/lib/components/ModalAdapter/ModalAdapter.js +21 -0
  51. package/lib/components/ModalAdapter/ModalAdapter.js.map +1 -0
  52. package/lib/components/ModalAdapter/index.js +11 -0
  53. package/lib/components/ModalAdapter/index.js.map +1 -0
  54. package/lib/components/SearchFilter/SearchFilter/FiltersList.js.map +1 -1
  55. package/lib/components/SearchFilter/SearchFilter/MobileFormToolbar.js +1 -1
  56. package/lib/components/SearchFilter/SearchFilter/MobileFormToolbar.js.map +1 -1
  57. package/lib/components/SearchFilter/SearchFilter/ResetDesktopForm.js +3 -3
  58. package/lib/components/SearchFilter/SearchFilter/ResetDesktopForm.js.map +1 -1
  59. package/lib/components/SearchFilter/SearchFilter/SearchFilter.js +26 -7
  60. package/lib/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  61. package/lib/components/SearchFilter/SearchFilterContainer.js +23 -28
  62. package/lib/components/SearchFilter/SearchFilterContainer.js.map +1 -1
  63. package/lib/components/SearchFilter/components/Checkbox.js +1 -1
  64. package/lib/components/SearchFilter/components/Checkbox.js.map +1 -1
  65. package/lib/components/SearchFilter/components/Select.js.map +1 -1
  66. package/lib/components/SearchFilter/components/TextSearch.js +1 -0
  67. package/lib/components/SearchFilter/components/TextSearch.js.map +1 -1
  68. package/lib/components/SearchFilter/helpers/build-list-name-query.js +31 -0
  69. package/lib/components/SearchFilter/helpers/build-list-name-query.js.map +1 -0
  70. package/lib/components/SearchFilter/helpers/decode-encode.js.map +1 -1
  71. package/lib/components/SearchFilter/helpers/index.js +7 -0
  72. package/lib/components/SearchFilter/helpers/index.js.map +1 -1
  73. package/lib/components/Video/VideoModal.js +2 -2
  74. package/lib/components/Video/VideoModal.js.map +1 -1
  75. package/lib/components/Video/providers/Vimeo/VimeoProvider.js +0 -1
  76. package/lib/components/Video/providers/Vimeo/VimeoProvider.js.map +1 -1
  77. package/lib/helpers/build-filters-query.js +1 -2
  78. package/lib/helpers/build-filters-query.js.map +1 -1
  79. package/lib/{components/Card/helpers → helpers}/filter-query-setup.js +10 -7
  80. package/lib/helpers/filter-query-setup.js.map +1 -0
  81. package/lib/{components/Card/helpers → helpers}/filters-setup.js +8 -5
  82. package/lib/helpers/filters-setup.js.map +1 -0
  83. package/lib/helpers/get-updated-items-to-display.js.map +1 -0
  84. package/lib/helpers/get-updated-sort-properties.js.map +1 -0
  85. package/lib/helpers/index.js +42 -0
  86. package/lib/helpers/index.js.map +1 -1
  87. package/lib/helpers/should-return.js.map +1 -0
  88. package/lib/{components/Card/helpers → helpers}/should-skip-single-query.js +1 -1
  89. package/lib/helpers/should-skip-single-query.js.map +1 -0
  90. package/lib/hooks/index.js +14 -0
  91. package/lib/hooks/index.js.map +1 -1
  92. package/lib/hooks/use-filter-aggregation-values.js +54 -0
  93. package/lib/hooks/use-filter-aggregation-values.js.map +1 -0
  94. package/lib/hooks/use-portal.js +30 -0
  95. package/lib/hooks/use-portal.js.map +1 -0
  96. package/lib-es/components/BackToTop/BackToTop.js +11 -17
  97. package/lib-es/components/BackToTop/BackToTop.js.map +1 -1
  98. package/lib-es/components/Card/Card.js +19 -12
  99. package/lib-es/components/Card/Card.js.map +1 -1
  100. package/lib-es/components/Card/CardsContainer.js +9 -5
  101. package/lib-es/components/Card/CardsContainer.js.map +1 -1
  102. package/lib-es/components/Card/CardsFactory.js +40 -9
  103. package/lib-es/components/Card/CardsFactory.js.map +1 -1
  104. package/lib-es/components/Card/CardsRender.js +9 -5
  105. package/lib-es/components/Card/CardsRender.js.map +1 -1
  106. package/lib-es/components/Card/helpers/index.js +6 -6
  107. package/lib-es/components/Card/helpers/index.js.map +1 -1
  108. package/lib-es/components/Carousel/CarouselImage/CarouselImage.js +3 -1
  109. package/lib-es/components/Carousel/CarouselImage/CarouselImage.js.map +1 -1
  110. package/lib-es/components/Carousel/CarouselImage/constants.js +2 -0
  111. package/lib-es/components/Carousel/CarouselImage/constants.js.map +1 -0
  112. package/lib-es/components/CarouselWrapper/DefaultCarousel.js +2 -0
  113. package/lib-es/components/CarouselWrapper/DefaultCarousel.js.map +1 -1
  114. package/lib-es/components/ContentGroup/ContentGroupTabs.js +1 -2
  115. package/lib-es/components/ContentGroup/ContentGroupTabs.js.map +1 -1
  116. package/lib-es/components/Image/GlobalLightbox/GlobalLightbox.js +3 -3
  117. package/lib-es/components/Image/GlobalLightbox/GlobalLightbox.js.map +1 -1
  118. package/lib-es/components/Image/GlobalLightbox/NavButton.js +6 -3
  119. package/lib-es/components/Image/GlobalLightbox/NavButton.js.map +1 -1
  120. package/lib-es/components/Image/Image.js +1 -0
  121. package/lib-es/components/Image/Image.js.map +1 -1
  122. package/lib-es/components/Image/Lightbox/Lightbox.js +1 -1
  123. package/lib-es/components/Image/Lightbox/Lightbox.js.map +1 -1
  124. package/lib-es/components/ItemList/ItemListNew/ItemListNew.js +1 -2
  125. package/lib-es/components/ItemList/ItemListNew/ItemListNew.js.map +1 -1
  126. package/lib-es/components/List/ListRender.js.map +1 -1
  127. package/lib-es/components/List/components/Cards/CardsRender.js.map +1 -1
  128. package/lib-es/components/List/components/Full/FullRender.js +2 -2
  129. package/lib-es/components/List/components/Full/FullRender.js.map +1 -1
  130. package/lib-es/components/Menu/Menu.js +1 -1
  131. package/lib-es/components/Menu/Menu.js.map +1 -1
  132. package/lib-es/components/MenuItem/MenuEntitiesItem.js +177 -0
  133. package/lib-es/components/MenuItem/MenuEntitiesItem.js.map +1 -0
  134. package/lib-es/components/MenuItem/MenuItem.js +28 -60
  135. package/lib-es/components/MenuItem/MenuItem.js.map +1 -1
  136. package/lib-es/components/MenuItem/MenuItemRender.js +84 -0
  137. package/lib-es/components/MenuItem/MenuItemRender.js.map +1 -0
  138. package/lib-es/components/MenuItem/helpers/index.js +3 -0
  139. package/lib-es/components/MenuItem/helpers/index.js.map +1 -0
  140. package/lib-es/components/MenuItem/helpers/inject-helper-into-template.js +8 -0
  141. package/lib-es/components/MenuItem/helpers/inject-helper-into-template.js.map +1 -0
  142. package/lib-es/components/Modal/Modal.js +1 -1
  143. package/lib-es/components/Modal/Modal.js.map +1 -1
  144. package/lib-es/components/ModalAdapter/ModalAdapter.js +13 -0
  145. package/lib-es/components/ModalAdapter/ModalAdapter.js.map +1 -0
  146. package/lib-es/components/ModalAdapter/index.js +3 -0
  147. package/lib-es/components/ModalAdapter/index.js.map +1 -0
  148. package/lib-es/components/SearchFilter/SearchFilter/FiltersList.js.map +1 -1
  149. package/lib-es/components/SearchFilter/SearchFilter/MobileFormToolbar.js +1 -1
  150. package/lib-es/components/SearchFilter/SearchFilter/MobileFormToolbar.js.map +1 -1
  151. package/lib-es/components/SearchFilter/SearchFilter/ResetDesktopForm.js +3 -3
  152. package/lib-es/components/SearchFilter/SearchFilter/ResetDesktopForm.js.map +1 -1
  153. package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js +19 -7
  154. package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  155. package/lib-es/components/SearchFilter/SearchFilterContainer.js +23 -20
  156. package/lib-es/components/SearchFilter/SearchFilterContainer.js.map +1 -1
  157. package/lib-es/components/SearchFilter/components/Checkbox.js +1 -1
  158. package/lib-es/components/SearchFilter/components/Checkbox.js.map +1 -1
  159. package/lib-es/components/SearchFilter/components/Select.js.map +1 -1
  160. package/lib-es/components/SearchFilter/components/TextSearch.js +1 -0
  161. package/lib-es/components/SearchFilter/components/TextSearch.js.map +1 -1
  162. package/lib-es/components/SearchFilter/helpers/build-list-name-query.js +15 -0
  163. package/lib-es/components/SearchFilter/helpers/build-list-name-query.js.map +1 -0
  164. package/lib-es/components/SearchFilter/helpers/decode-encode.js.map +1 -1
  165. package/lib-es/components/SearchFilter/helpers/index.js +2 -1
  166. package/lib-es/components/SearchFilter/helpers/index.js.map +1 -1
  167. package/lib-es/components/Video/VideoModal.js +1 -1
  168. package/lib-es/components/Video/VideoModal.js.map +1 -1
  169. package/lib-es/components/Video/providers/Vimeo/VimeoProvider.js +0 -1
  170. package/lib-es/components/Video/providers/Vimeo/VimeoProvider.js.map +1 -1
  171. package/lib-es/helpers/build-filters-query.js +1 -2
  172. package/lib-es/helpers/build-filters-query.js.map +1 -1
  173. package/lib-es/{components/Card/helpers → helpers}/filter-query-setup.js +5 -3
  174. package/lib-es/helpers/filter-query-setup.js.map +1 -0
  175. package/lib-es/{components/Card/helpers → helpers}/filters-setup.js +4 -2
  176. package/lib-es/helpers/filters-setup.js.map +1 -0
  177. package/lib-es/helpers/get-updated-items-to-display.js.map +1 -0
  178. package/lib-es/helpers/get-updated-sort-properties.js.map +1 -0
  179. package/lib-es/helpers/index.js +6 -0
  180. package/lib-es/helpers/index.js.map +1 -1
  181. package/lib-es/helpers/should-return.js.map +1 -0
  182. package/lib-es/{components/Card/helpers → helpers}/should-skip-single-query.js +1 -1
  183. package/lib-es/helpers/should-skip-single-query.js.map +1 -0
  184. package/lib-es/hooks/index.js +2 -0
  185. package/lib-es/hooks/index.js.map +1 -1
  186. package/lib-es/hooks/use-filter-aggregation-values.js +31 -0
  187. package/lib-es/hooks/use-filter-aggregation-values.js.map +1 -0
  188. package/lib-es/hooks/use-portal.js +14 -0
  189. package/lib-es/hooks/use-portal.js.map +1 -0
  190. package/package.json +5 -5
  191. package/src/components/BackToTop/BackToTop.js +6 -11
  192. package/src/components/Card/Card.js +29 -19
  193. package/src/components/Card/CardsContainer.js +7 -3
  194. package/src/components/Card/CardsFactory.js +34 -6
  195. package/src/components/Card/CardsRender.js +6 -2
  196. package/src/components/Card/helpers/index.js +6 -6
  197. package/src/components/Carousel/CarouselImage/CarouselImage.js +3 -1
  198. package/src/components/Carousel/CarouselImage/constants.js +1 -0
  199. package/src/components/CarouselWrapper/DefaultCarousel.js +2 -0
  200. package/src/components/ContentGroup/ContentGroupTabs.js +1 -3
  201. package/src/components/Image/GlobalLightbox/GlobalLightbox.js +3 -3
  202. package/src/components/Image/GlobalLightbox/NavButton.js +5 -3
  203. package/src/components/Image/Image.js +1 -0
  204. package/src/components/Image/Lightbox/Lightbox.js +1 -1
  205. package/src/components/ItemList/ItemListNew/ItemListNew.js +1 -4
  206. package/src/components/List/ListRender.js +0 -1
  207. package/src/components/List/components/Cards/CardsRender.js +2 -0
  208. package/src/components/List/components/Full/FullRender.js +2 -1
  209. package/src/components/Menu/Menu.js +1 -1
  210. package/src/components/MenuItem/MenuEntitiesItem.js +202 -0
  211. package/src/components/MenuItem/MenuItem.js +15 -65
  212. package/src/components/MenuItem/MenuItemRender.js +92 -0
  213. package/src/components/MenuItem/helpers/index.js +3 -0
  214. package/src/components/MenuItem/helpers/inject-helper-into-template.js +11 -0
  215. package/src/components/Modal/Modal.js +1 -1
  216. package/src/components/ModalAdapter/ModalAdapter.js +12 -0
  217. package/src/components/ModalAdapter/index.js +3 -0
  218. package/src/components/SearchFilter/SearchFilter/FiltersList.js +3 -0
  219. package/src/components/SearchFilter/SearchFilter/MobileFormToolbar.js +1 -1
  220. package/src/components/SearchFilter/SearchFilter/ResetDesktopForm.js +3 -2
  221. package/src/components/SearchFilter/SearchFilter/SearchFilter.js +26 -10
  222. package/src/components/SearchFilter/SearchFilterContainer.js +21 -22
  223. package/src/components/SearchFilter/components/Checkbox.js +3 -1
  224. package/src/components/SearchFilter/components/Select.js +2 -0
  225. package/src/components/SearchFilter/components/TextSearch.js +1 -0
  226. package/src/components/SearchFilter/helpers/build-list-name-query.js +18 -0
  227. package/src/components/SearchFilter/helpers/decode-encode.js +0 -1
  228. package/src/components/SearchFilter/helpers/index.js +2 -0
  229. package/src/components/Video/VideoModal.js +1 -1
  230. package/src/components/Video/providers/Vimeo/VimeoProvider.js +0 -1
  231. package/src/helpers/build-filters-query.js +1 -3
  232. package/src/{components/Card/helpers → helpers}/filter-query-setup.js +5 -3
  233. package/src/{components/Card/helpers → helpers}/filters-setup.js +5 -2
  234. package/src/helpers/index.js +6 -0
  235. package/src/{components/Card/helpers → helpers}/should-skip-single-query.js +1 -1
  236. package/src/hooks/index.js +2 -0
  237. package/src/hooks/use-filter-aggregation-values.js +37 -0
  238. package/src/hooks/use-portal.js +18 -0
  239. package/tests/unit/src/components/BackToTop/BackToTop.test.js +9 -5
  240. package/tests/unit/src/components/BackToTop/__snapshots__/BackToTop.test.js.snap +1 -1
  241. package/tests/unit/src/components/Card/Card.test.js +16 -1
  242. package/tests/unit/src/components/Card/__snapshots__/Card.test.js.snap +83 -0
  243. package/tests/unit/src/components/Card/helpers/get-updated-items-to-display.test.js +1 -1
  244. package/tests/unit/src/components/Carousel/CarouselImage/__snapshots__/CarouselImage.test.js.snap +1 -1
  245. package/tests/unit/src/components/Carousel/__snapshots__/Carousel.test.js.snap +1 -1
  246. package/tests/unit/src/components/ContentGroup/__snapshots__/ContentGroupTabs.test.js.snap +4 -4
  247. package/tests/unit/src/components/Image/Lightbox/Lightbox.test.js +4 -0
  248. package/tests/unit/src/components/Image/Lightbox/__snapshots__/Lightbox.test.js.snap +3 -38
  249. package/tests/unit/src/components/ItemList/__snapshots__/ItemListNew.test.js.snap +0 -2
  250. package/tests/unit/src/components/MenuItem/MenuEntitiesItem.test.js +23 -0
  251. package/tests/unit/src/components/MenuItem/MenuItem.test.js +30 -11
  252. package/tests/unit/src/components/MenuItem/MenuItemRender.test.js +55 -0
  253. package/tests/unit/src/components/MenuItem/__snapshots__/MenuEntitiesItem.test.js.snap +3 -0
  254. package/tests/unit/src/components/MenuItem/__snapshots__/MenuItem.test.js.snap +5 -56
  255. package/tests/unit/src/components/MenuItem/helpers/inject-helper-into-template.test.js +44 -0
  256. package/tests/unit/src/components/MenuItem/mocks.js +71 -0
  257. package/tests/unit/src/components/Modal/Modal.test.js +4 -0
  258. package/tests/unit/src/components/Modal/__snapshots__/Modal.test.js.snap +7 -42
  259. package/tests/unit/src/components/SearchFilter/SearchFilter/__snapshots__/MobileFormToolbar.test.js.snap +1 -1
  260. package/tests/unit/src/components/SearchFilter/SearchFilter/__snapshots__/ResetDesktopForm.test.js.snap +1 -1
  261. package/tests/unit/src/components/SearchFilter/SearchFilter/__snapshots__/SearchFilter.test.js.snap +19 -17
  262. package/tests/unit/src/components/SearchFilter/__snapshots__/SearchFilterContainer.test.js.snap +7 -1
  263. package/tests/unit/src/components/SearchFilter/components/__snapshots__/Select.test.js.snap +1 -0
  264. package/tests/unit/src/components/SearchFilter/components/__snapshots__/TextSearch.test.js.snap +1 -0
  265. package/tests/unit/src/components/SearchFilterSort/__snapshots__/SearchFilterSort.test.js.snap +1 -0
  266. package/tests/unit/src/components/Video/providers/Vimeo/__snapshots__/Vimeo.test.js.snap +0 -1
  267. package/lib/components/Card/helpers/filter-query-setup.js.map +0 -1
  268. package/lib/components/Card/helpers/filters-setup.js.map +0 -1
  269. package/lib/components/Card/helpers/get-updated-items-to-display.js.map +0 -1
  270. package/lib/components/Card/helpers/get-updated-sort-properties.js.map +0 -1
  271. package/lib/components/Card/helpers/should-return.js.map +0 -1
  272. package/lib/components/Card/helpers/should-skip-single-query.js.map +0 -1
  273. package/lib-es/components/Card/helpers/filter-query-setup.js.map +0 -1
  274. package/lib-es/components/Card/helpers/filters-setup.js.map +0 -1
  275. package/lib-es/components/Card/helpers/get-updated-items-to-display.js.map +0 -1
  276. package/lib-es/components/Card/helpers/get-updated-sort-properties.js.map +0 -1
  277. package/lib-es/components/Card/helpers/should-return.js.map +0 -1
  278. package/lib-es/components/Card/helpers/should-skip-single-query.js.map +0 -1
  279. /package/lib/{components/Card/helpers → helpers}/get-updated-items-to-display.js +0 -0
  280. /package/lib/{components/Card/helpers → helpers}/get-updated-sort-properties.js +0 -0
  281. /package/lib/{components/Card/helpers → helpers}/should-return.js +0 -0
  282. /package/lib-es/{components/Card/helpers → helpers}/get-updated-items-to-display.js +0 -0
  283. /package/lib-es/{components/Card/helpers → helpers}/get-updated-sort-properties.js +0 -0
  284. /package/lib-es/{components/Card/helpers → helpers}/should-return.js +0 -0
  285. /package/src/{components/Card/helpers → helpers}/get-updated-items-to-display.js +0 -0
  286. /package/src/{components/Card/helpers → helpers}/get-updated-sort-properties.js +0 -0
  287. /package/src/{components/Card/helpers → helpers}/should-return.js +0 -0
@@ -1,73 +1,41 @@
1
- import React, { useState, useContext, useEffect } from 'react';
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ const _excluded = ["entities", "parent"];
4
+ import React from 'react';
2
5
  import PropTypes from 'prop-types';
3
- import { FaChevronDown, FaChevronUp } from 'react-icons/fa';
4
- import { HOVER, MOUSE_ENTER, MOUSE_LEAVE, HIDDEN } from '../../constants';
5
- import { hasChildren } from '../../helpers';
6
- import BlazeLink from '../BlazeLink';
7
- import MenuContext from '../Menu/MenuContext';
8
- const MenuItem = ({
9
- children,
10
- eventType,
11
- text,
12
- modifier,
13
- url
14
- }) => {
15
- const [displayChildren, setDisplayChildren] = useState(false);
16
- const {
17
- showMobileMenu
18
- } = useContext(MenuContext);
19
- useEffect(() => {
20
- if (!showMobileMenu) setDisplayChildren(false);
21
- }, [showMobileMenu]);
22
- const isHoverEvent = eventType === HOVER;
23
- const childrenDisplayClass = displayChildren ? '' : HIDDEN;
24
- const handleItemEvent = ({
25
- type
26
- }) => {
27
- if (isHoverEvent) {
28
- if (type === MOUSE_ENTER) {
29
- setDisplayChildren(true);
30
- }
31
- if (type === MOUSE_LEAVE) {
32
- setDisplayChildren(false);
33
- }
34
- }
35
- };
36
- const hasValidChildren = hasChildren(children);
37
- return /*#__PURE__*/React.createElement("li", {
38
- className: modifier,
39
- onMouseEnter: handleItemEvent,
40
- onMouseLeave: handleItemEvent,
41
- "aria-label": text
42
- }, /*#__PURE__*/React.createElement("div", {
43
- className: "menu--item--link"
44
- }, url ? /*#__PURE__*/React.createElement(BlazeLink, {
45
- href: url
46
- }, text) : /*#__PURE__*/React.createElement("span", {
47
- role: "button",
48
- onClick: handleItemEvent,
49
- "aria-label": text
50
- }, text), hasValidChildren && /*#__PURE__*/React.createElement("i", {
51
- role: "button",
52
- "aria-label": displayChildren ? `Collapse ${text} menu items` : `Expand ${text} menu items`,
53
- className: "menu--item--link--icon",
54
- onClick: () => setDisplayChildren(!displayChildren)
55
- }, displayChildren ? /*#__PURE__*/React.createElement(FaChevronUp, null) : /*#__PURE__*/React.createElement(FaChevronDown, null))), hasValidChildren && /*#__PURE__*/React.createElement("div", {
56
- className: `menu--item-children ${childrenDisplayClass}`
57
- }, children));
6
+ import MenuItemRender from './MenuItemRender';
7
+ import MenuEntitiesItem from './MenuEntitiesItem';
8
+ const MenuItem = _ref => {
9
+ let {
10
+ entities,
11
+ parent
12
+ } = _ref,
13
+ props = _objectWithoutProperties(_ref, _excluded);
14
+ const hasEntities = entities && entities.length;
15
+ if (!hasEntities) return /*#__PURE__*/React.createElement(MenuItemRender, _extends({
16
+ parent: parent
17
+ }, props));
18
+ return /*#__PURE__*/React.createElement(MenuEntitiesItem, _extends({
19
+ entities: entities,
20
+ parent: parent
21
+ }, props));
58
22
  };
59
23
  MenuItem.propTypes = {
24
+ children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),
25
+ eventType: PropTypes.string.isRequired,
60
26
  modifier: PropTypes.string,
27
+ parent: PropTypes.object,
61
28
  text: PropTypes.string,
62
29
  url: PropTypes.string,
63
- eventType: PropTypes.string.isRequired,
64
- children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])
30
+ entities: PropTypes.array
65
31
  };
66
32
  MenuItem.defaultProps = {
67
- url: '',
33
+ children: null,
68
34
  modifier: '',
35
+ parent: {},
69
36
  text: '',
70
- children: null
37
+ url: '',
38
+ entities: []
71
39
  };
72
40
  export default MenuItem;
73
41
  //# sourceMappingURL=MenuItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItem.js","names":["React","useState","useContext","useEffect","PropTypes","FaChevronDown","FaChevronUp","HOVER","MOUSE_ENTER","MOUSE_LEAVE","HIDDEN","hasChildren","BlazeLink","MenuContext","MenuItem","children","eventType","text","modifier","url","displayChildren","setDisplayChildren","showMobileMenu","isHoverEvent","childrenDisplayClass","handleItemEvent","type","hasValidChildren","createElement","className","onMouseEnter","onMouseLeave","href","role","onClick","propTypes","string","isRequired","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../src/components/MenuItem/MenuItem.js"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { FaChevronDown, FaChevronUp } from 'react-icons/fa';\nimport { HOVER, MOUSE_ENTER, MOUSE_LEAVE, HIDDEN } from '../../constants';\nimport { hasChildren } from '../../helpers';\nimport BlazeLink from '../BlazeLink';\nimport MenuContext from '../Menu/MenuContext';\n\nconst MenuItem = ({ children, eventType, text, modifier, url }) => {\n const [displayChildren, setDisplayChildren] = useState(false);\n const { showMobileMenu } = useContext(MenuContext);\n\n useEffect(\n () => {\n if (!showMobileMenu) setDisplayChildren(false);\n },\n [showMobileMenu]\n );\n\n const isHoverEvent = eventType === HOVER;\n const childrenDisplayClass = displayChildren ? '' : HIDDEN;\n\n const handleItemEvent = ({ type }) => {\n if (isHoverEvent) {\n if (type === MOUSE_ENTER) {\n setDisplayChildren(true);\n }\n if (type === MOUSE_LEAVE) {\n setDisplayChildren(false);\n }\n }\n };\n const hasValidChildren = hasChildren(children);\n\n return (\n <li\n className={modifier}\n onMouseEnter={handleItemEvent}\n onMouseLeave={handleItemEvent}\n aria-label={text}>\n <div className=\"menu--item--link\">\n {url ? (\n <BlazeLink href={url}>{text}</BlazeLink>\n ) : (\n <span role=\"button\" onClick={handleItemEvent} aria-label={text}>\n {text}\n </span>\n )}\n {hasValidChildren && (\n <i\n role=\"button\"\n aria-label={\n displayChildren ? `Collapse ${text} menu items` : `Expand ${text} menu items`\n }\n className=\"menu--item--link--icon\"\n onClick={() => setDisplayChildren(!displayChildren)}>\n {displayChildren ? <FaChevronUp /> : <FaChevronDown />}\n </i>\n )}\n </div>\n {hasValidChildren && (\n <div className={`menu--item-children ${childrenDisplayClass}`}>{children}</div>\n )}\n </li>\n );\n};\n\nMenuItem.propTypes = {\n modifier: PropTypes.string,\n text: PropTypes.string,\n url: PropTypes.string,\n eventType: PropTypes.string.isRequired,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nMenuItem.defaultProps = {\n url: '',\n modifier: '',\n text: '',\n children: null\n};\n\nexport default MenuItem;\n"],"mappings":"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"}
1
+ {"version":3,"file":"MenuItem.js","names":["React","PropTypes","MenuItemRender","MenuEntitiesItem","MenuItem","_ref","entities","parent","props","_objectWithoutProperties","_excluded","hasEntities","length","createElement","_extends","propTypes","children","oneOfType","arrayOf","node","eventType","string","isRequired","modifier","object","text","url","array","defaultProps"],"sources":["../../../src/components/MenuItem/MenuItem.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport MenuItemRender from './MenuItemRender';\nimport MenuEntitiesItem from './MenuEntitiesItem';\n\nconst MenuItem = ({ entities, parent, ...props }) => {\n const hasEntities = entities && entities.length;\n\n if (!hasEntities) return <MenuItemRender parent={parent} {...props} />;\n\n return <MenuEntitiesItem entities={entities} parent={parent} {...props} />;\n};\n\nMenuItem.propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n eventType: PropTypes.string.isRequired,\n modifier: PropTypes.string,\n parent: PropTypes.object,\n text: PropTypes.string,\n url: PropTypes.string,\n entities: PropTypes.array\n};\n\nMenuItem.defaultProps = {\n children: null,\n modifier: '',\n parent: {},\n text: '',\n url: '',\n entities: []\n};\n\nexport default MenuItem;\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,cAAc,MAAM,kBAAkB;AAC7C,OAAOC,gBAAgB,MAAM,oBAAoB;AAEjD,MAAMC,QAAQ,GAAGC,IAAA,IAAoC;EAAA,IAAnC;MAAEC,QAAQ;MAAEC;IAAiB,CAAC,GAAAF,IAAA;IAAPG,KAAK,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA;EAC5C,MAAMC,WAAW,GAAGL,QAAQ,IAAIA,QAAQ,CAACM,MAAM;EAE/C,IAAI,CAACD,WAAW,EAAE,oBAAOX,KAAA,CAAAa,aAAA,CAACX,cAAc,EAAAY,QAAA;IAACP,MAAM,EAAEA;EAAO,GAAKC,KAAK,CAAG,CAAC;EAEtE,oBAAOR,KAAA,CAAAa,aAAA,CAACV,gBAAgB,EAAAW,QAAA;IAACR,QAAQ,EAAEA,QAAS;IAACC,MAAM,EAAEA;EAAO,GAAKC,KAAK,CAAG,CAAC;AAC5E,CAAC;AAEDJ,QAAQ,CAACW,SAAS,GAAG;EACnBC,QAAQ,EAAEf,SAAS,CAACgB,SAAS,CAAC,CAAChB,SAAS,CAACiB,OAAO,CAACjB,SAAS,CAACkB,IAAI,CAAC,EAAElB,SAAS,CAACkB,IAAI,CAAC,CAAC;EAClFC,SAAS,EAAEnB,SAAS,CAACoB,MAAM,CAACC,UAAU;EACtCC,QAAQ,EAAEtB,SAAS,CAACoB,MAAM;EAC1Bd,MAAM,EAAEN,SAAS,CAACuB,MAAM;EACxBC,IAAI,EAAExB,SAAS,CAACoB,MAAM;EACtBK,GAAG,EAAEzB,SAAS,CAACoB,MAAM;EACrBf,QAAQ,EAAEL,SAAS,CAAC0B;AACtB,CAAC;AAEDvB,QAAQ,CAACwB,YAAY,GAAG;EACtBZ,QAAQ,EAAE,IAAI;EACdO,QAAQ,EAAE,EAAE;EACZhB,MAAM,EAAE,CAAC,CAAC;EACVkB,IAAI,EAAE,EAAE;EACRC,GAAG,EAAE,EAAE;EACPpB,QAAQ,EAAE;AACZ,CAAC;AAED,eAAeF,QAAQ"}
@@ -0,0 +1,84 @@
1
+ import React, { useState, useContext, useEffect } from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { FaChevronDown, FaChevronUp } from 'react-icons/fa';
4
+ import { useStringTemplate } from '@blaze-cms/utils-handlebars';
5
+ import { HOVER, MOUSE_ENTER, MOUSE_LEAVE, HIDDEN } from '../../constants';
6
+ import { hasChildren } from '../../helpers';
7
+ import BlazeLink from '../BlazeLink';
8
+ import MenuContext from '../Menu/MenuContext';
9
+ import { injectHelperIntoTemplate } from './helpers';
10
+ const MenuItemRender = ({
11
+ children,
12
+ eventType,
13
+ text,
14
+ modifier,
15
+ url,
16
+ parent
17
+ }) => {
18
+ const [displayChildren, setDisplayChildren] = useState(false);
19
+ const {
20
+ showMobileMenu
21
+ } = useContext(MenuContext);
22
+ const {
23
+ loading: loadingText,
24
+ data: [textToUse]
25
+ } = useStringTemplate(parent, [text]);
26
+ const {
27
+ loading: loadingUrl,
28
+ data: [urlToUse]
29
+ } = useStringTemplate(parent, [injectHelperIntoTemplate(url, 'url_encode')]);
30
+ useEffect(() => {
31
+ if (!showMobileMenu) setDisplayChildren(false);
32
+ }, [showMobileMenu]);
33
+ if (loadingUrl || loadingText) return '';
34
+ const isHoverEvent = eventType === HOVER;
35
+ const childrenDisplayClass = displayChildren ? '' : HIDDEN;
36
+ const handleItemEvent = ({
37
+ type
38
+ }) => {
39
+ if (isHoverEvent) {
40
+ if (type === MOUSE_ENTER) {
41
+ setDisplayChildren(true);
42
+ }
43
+ if (type === MOUSE_LEAVE) {
44
+ setDisplayChildren(false);
45
+ }
46
+ }
47
+ };
48
+ const hasValidChildren = hasChildren(children);
49
+ return /*#__PURE__*/React.createElement("li", {
50
+ className: modifier,
51
+ onMouseEnter: handleItemEvent,
52
+ onMouseLeave: handleItemEvent
53
+ }, /*#__PURE__*/React.createElement("div", {
54
+ className: "menu--item--link"
55
+ }, urlToUse ? /*#__PURE__*/React.createElement(BlazeLink, {
56
+ href: urlToUse
57
+ }, textToUse) : /*#__PURE__*/React.createElement("span", {
58
+ role: "button",
59
+ onClick: handleItemEvent
60
+ }, textToUse), hasValidChildren && /*#__PURE__*/React.createElement("i", {
61
+ role: "button",
62
+ className: "menu--item--link--icon",
63
+ onClick: () => setDisplayChildren(!displayChildren)
64
+ }, displayChildren ? /*#__PURE__*/React.createElement(FaChevronUp, null) : /*#__PURE__*/React.createElement(FaChevronDown, null))), hasValidChildren && /*#__PURE__*/React.createElement("div", {
65
+ className: `menu--item-children ${childrenDisplayClass}`
66
+ }, children));
67
+ };
68
+ MenuItemRender.propTypes = {
69
+ modifier: PropTypes.string,
70
+ text: PropTypes.string,
71
+ url: PropTypes.string,
72
+ eventType: PropTypes.string.isRequired,
73
+ parent: PropTypes.object,
74
+ children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])
75
+ };
76
+ MenuItemRender.defaultProps = {
77
+ url: '',
78
+ modifier: '',
79
+ text: '',
80
+ children: null,
81
+ parent: {}
82
+ };
83
+ export default MenuItemRender;
84
+ //# sourceMappingURL=MenuItemRender.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuItemRender.js","names":["React","useState","useContext","useEffect","PropTypes","FaChevronDown","FaChevronUp","useStringTemplate","HOVER","MOUSE_ENTER","MOUSE_LEAVE","HIDDEN","hasChildren","BlazeLink","MenuContext","injectHelperIntoTemplate","MenuItemRender","children","eventType","text","modifier","url","parent","displayChildren","setDisplayChildren","showMobileMenu","loading","loadingText","data","textToUse","loadingUrl","urlToUse","isHoverEvent","childrenDisplayClass","handleItemEvent","type","hasValidChildren","createElement","className","onMouseEnter","onMouseLeave","href","role","onClick","propTypes","string","isRequired","object","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../src/components/MenuItem/MenuItemRender.js"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { FaChevronDown, FaChevronUp } from 'react-icons/fa';\nimport { useStringTemplate } from '@blaze-cms/utils-handlebars';\nimport { HOVER, MOUSE_ENTER, MOUSE_LEAVE, HIDDEN } from '../../constants';\nimport { hasChildren } from '../../helpers';\nimport BlazeLink from '../BlazeLink';\nimport MenuContext from '../Menu/MenuContext';\nimport { injectHelperIntoTemplate } from './helpers';\n\nconst MenuItemRender = ({ children, eventType, text, modifier, url, parent }) => {\n const [displayChildren, setDisplayChildren] = useState(false);\n const { showMobileMenu } = useContext(MenuContext);\n const {\n loading: loadingText,\n data: [textToUse]\n } = useStringTemplate(parent, [text]);\n\n const {\n loading: loadingUrl,\n data: [urlToUse]\n } = useStringTemplate(parent, [injectHelperIntoTemplate(url, 'url_encode')]);\n\n useEffect(\n () => {\n if (!showMobileMenu) setDisplayChildren(false);\n },\n [showMobileMenu]\n );\n\n if (loadingUrl || loadingText) return '';\n\n const isHoverEvent = eventType === HOVER;\n const childrenDisplayClass = displayChildren ? '' : HIDDEN;\n\n const handleItemEvent = ({ type }) => {\n if (isHoverEvent) {\n if (type === MOUSE_ENTER) {\n setDisplayChildren(true);\n }\n if (type === MOUSE_LEAVE) {\n setDisplayChildren(false);\n }\n }\n };\n const hasValidChildren = hasChildren(children);\n\n return (\n <li className={modifier} onMouseEnter={handleItemEvent} onMouseLeave={handleItemEvent}>\n <div className=\"menu--item--link\">\n {urlToUse ? (\n <BlazeLink href={urlToUse}>{textToUse}</BlazeLink>\n ) : (\n <span role=\"button\" onClick={handleItemEvent}>\n {textToUse}\n </span>\n )}\n {hasValidChildren && (\n <i\n role=\"button\"\n className=\"menu--item--link--icon\"\n onClick={() => setDisplayChildren(!displayChildren)}>\n {displayChildren ? <FaChevronUp /> : <FaChevronDown />}\n </i>\n )}\n </div>\n\n {hasValidChildren && (\n <div className={`menu--item-children ${childrenDisplayClass}`}>{children}</div>\n )}\n </li>\n );\n};\n\nMenuItemRender.propTypes = {\n modifier: PropTypes.string,\n text: PropTypes.string,\n url: PropTypes.string,\n eventType: PropTypes.string.isRequired,\n parent: PropTypes.object,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nMenuItemRender.defaultProps = {\n url: '',\n modifier: '',\n text: '',\n children: null,\n parent: {}\n};\n\nexport default MenuItemRender;\n"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import injectHelperIntoTemplate from './inject-helper-into-template';
2
+ export { injectHelperIntoTemplate };
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["injectHelperIntoTemplate"],"sources":["../../../../src/components/MenuItem/helpers/index.js"],"sourcesContent":["import injectHelperIntoTemplate from './inject-helper-into-template';\n\nexport { injectHelperIntoTemplate };\n"],"mappings":"AAAA,OAAOA,wBAAwB,MAAM,+BAA+B;AAEpE,SAASA,wBAAwB"}
@@ -0,0 +1,8 @@
1
+ const injectHelperIntoTemplate = (template, helper) => {
2
+ if (!helper || !template) return template;
3
+ let result = template.replace(/{{{([^{}]+)}}}/g, `{{{${helper} $1}}}`);
4
+ result = result.replace(/{{([^{}]+)}}(?!})/g, `{{${helper} $1}}`);
5
+ return result;
6
+ };
7
+ export default injectHelperIntoTemplate;
8
+ //# sourceMappingURL=inject-helper-into-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inject-helper-into-template.js","names":["injectHelperIntoTemplate","template","helper","result","replace"],"sources":["../../../../src/components/MenuItem/helpers/inject-helper-into-template.js"],"sourcesContent":["const injectHelperIntoTemplate = (template, helper) => {\n if (!helper || !template) return template;\n\n let result = template.replace(/{{{([^{}]+)}}}/g, `{{{${helper} $1}}}`);\n\n result = result.replace(/{{([^{}]+)}}(?!})/g, `{{${helper} $1}}`);\n\n return result;\n};\n\nexport default injectHelperIntoTemplate;\n"],"mappings":"AAAA,MAAMA,wBAAwB,GAAGA,CAACC,QAAQ,EAAEC,MAAM,KAAK;EACrD,IAAI,CAACA,MAAM,IAAI,CAACD,QAAQ,EAAE,OAAOA,QAAQ;EAEzC,IAAIE,MAAM,GAAGF,QAAQ,CAACG,OAAO,CAAC,iBAAiB,EAAG,MAAKF,MAAO,QAAO,CAAC;EAEtEC,MAAM,GAAGA,MAAM,CAACC,OAAO,CAAC,oBAAoB,EAAG,KAAIF,MAAO,OAAM,CAAC;EAEjE,OAAOC,MAAM;AACf,CAAC;AAED,eAAeH,wBAAwB"}
@@ -2,7 +2,7 @@ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProper
2
2
  const _excluded = ["children", "elementTitle", "onClose"];
3
3
  import React from 'react';
4
4
  import PropTypes from 'prop-types';
5
- import BlazeModal from '@blaze-react/modal';
5
+ import BlazeModal from '../ModalAdapter';
6
6
  import { renderChildren, updateChildrensParent, hasChildren } from '../../helpers';
7
7
  const Modal = _ref => {
8
8
  let {
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","names":["React","PropTypes","BlazeModal","renderChildren","updateChildrensParent","hasChildren","Modal","_ref","children","elementTitle","onClose","otherProps","_objectWithoutProperties","_excluded","parent","itemId","itemEntity","createElement","title","propTypes","func","string","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../src/components/Modal/Modal.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport BlazeModal from '@blaze-react/modal';\nimport { renderChildren, updateChildrensParent, hasChildren } from '../../helpers';\n\nconst Modal = ({ children, elementTitle, onClose, ...otherProps }) => {\n if (!hasChildren(children)) return null;\n\n updateChildrensParent(children, otherProps.parent.itemId, otherProps.parent.itemEntity);\n return (\n <BlazeModal title={elementTitle} onClose={onClose}>\n {renderChildren(children)}\n </BlazeModal>\n );\n};\n\nModal.propTypes = {\n onClose: PropTypes.func,\n elementTitle: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nModal.defaultProps = {\n onClose: () => {},\n elementTitle: '',\n children: []\n};\n\nexport default Modal;\n"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,oBAAoB;AAC3C,SAASC,cAAc,EAAEC,qBAAqB,EAAEC,WAAW,QAAQ,eAAe;AAElF,MAAMC,KAAK,GAAGC,IAAA,IAAwD;EAAA,IAAvD;MAAEC,QAAQ;MAAEC,YAAY;MAAEC;IAAuB,CAAC,GAAAH,IAAA;IAAZI,UAAU,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA;EAC7D,IAAI,CAACR,WAAW,CAACG,QAAQ,CAAC,EAAE,OAAO,IAAI;EAEvCJ,qBAAqB,CAACI,QAAQ,EAAEG,UAAU,CAACG,MAAM,CAACC,MAAM,EAAEJ,UAAU,CAACG,MAAM,CAACE,UAAU,CAAC;EACvF,oBACEhB,KAAA,CAAAiB,aAAA,CAACf,UAAU;IAACgB,KAAK,EAAET,YAAa;IAACC,OAAO,EAAEA;EAAQ,GAC/CP,cAAc,CAACK,QAAQ,CACd,CAAC;AAEjB,CAAC;AAEDF,KAAK,CAACa,SAAS,GAAG;EAChBT,OAAO,EAAET,SAAS,CAACmB,IAAI;EACvBX,YAAY,EAAER,SAAS,CAACoB,MAAM;EAC9Bb,QAAQ,EAAEP,SAAS,CAACqB,SAAS,CAAC,CAACrB,SAAS,CAACsB,OAAO,CAACtB,SAAS,CAACuB,IAAI,CAAC,EAAEvB,SAAS,CAACuB,IAAI,CAAC;AACnF,CAAC;AAEDlB,KAAK,CAACmB,YAAY,GAAG;EACnBf,OAAO,EAAEA,CAAA,KAAM,CAAC,CAAC;EACjBD,YAAY,EAAE,EAAE;EAChBD,QAAQ,EAAE;AACZ,CAAC;AAED,eAAeF,KAAK"}
1
+ {"version":3,"file":"Modal.js","names":["React","PropTypes","BlazeModal","renderChildren","updateChildrensParent","hasChildren","Modal","_ref","children","elementTitle","onClose","otherProps","_objectWithoutProperties","_excluded","parent","itemId","itemEntity","createElement","title","propTypes","func","string","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../src/components/Modal/Modal.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport BlazeModal from '../ModalAdapter';\nimport { renderChildren, updateChildrensParent, hasChildren } from '../../helpers';\n\nconst Modal = ({ children, elementTitle, onClose, ...otherProps }) => {\n if (!hasChildren(children)) return null;\n\n updateChildrensParent(children, otherProps.parent.itemId, otherProps.parent.itemEntity);\n return (\n <BlazeModal title={elementTitle} onClose={onClose}>\n {renderChildren(children)}\n </BlazeModal>\n );\n};\n\nModal.propTypes = {\n onClose: PropTypes.func,\n elementTitle: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nModal.defaultProps = {\n onClose: () => {},\n elementTitle: '',\n children: []\n};\n\nexport default Modal;\n"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,iBAAiB;AACxC,SAASC,cAAc,EAAEC,qBAAqB,EAAEC,WAAW,QAAQ,eAAe;AAElF,MAAMC,KAAK,GAAGC,IAAA,IAAwD;EAAA,IAAvD;MAAEC,QAAQ;MAAEC,YAAY;MAAEC;IAAuB,CAAC,GAAAH,IAAA;IAAZI,UAAU,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA;EAC7D,IAAI,CAACR,WAAW,CAACG,QAAQ,CAAC,EAAE,OAAO,IAAI;EAEvCJ,qBAAqB,CAACI,QAAQ,EAAEG,UAAU,CAACG,MAAM,CAACC,MAAM,EAAEJ,UAAU,CAACG,MAAM,CAACE,UAAU,CAAC;EACvF,oBACEhB,KAAA,CAAAiB,aAAA,CAACf,UAAU;IAACgB,KAAK,EAAET,YAAa;IAACC,OAAO,EAAEA;EAAQ,GAC/CP,cAAc,CAACK,QAAQ,CACd,CAAC;AAEjB,CAAC;AAEDF,KAAK,CAACa,SAAS,GAAG;EAChBT,OAAO,EAAET,SAAS,CAACmB,IAAI;EACvBX,YAAY,EAAER,SAAS,CAACoB,MAAM;EAC9Bb,QAAQ,EAAEP,SAAS,CAACqB,SAAS,CAAC,CAACrB,SAAS,CAACsB,OAAO,CAACtB,SAAS,CAACuB,IAAI,CAAC,EAAEvB,SAAS,CAACuB,IAAI,CAAC;AACnF,CAAC;AAEDlB,KAAK,CAACmB,YAAY,GAAG;EACnBf,OAAO,EAAEA,CAAA,KAAM,CAAC,CAAC;EACjBD,YAAY,EAAE,EAAE;EAChBD,QAAQ,EAAE;AACZ,CAAC;AAED,eAAeF,KAAK"}
@@ -0,0 +1,13 @@
1
+ import _objectDestructuringEmpty from "@babel/runtime/helpers/objectDestructuringEmpty";
2
+ import _extends from "@babel/runtime/helpers/extends";
3
+ import React from 'react';
4
+ import Modal from '@blaze-react/modal';
5
+ import ReactDOM from 'react-dom';
6
+ import { usePortal } from '../../hooks';
7
+ const ModalAdapter = _ref => {
8
+ let props = _extends({}, (_objectDestructuringEmpty(_ref), _ref));
9
+ const target = usePortal();
10
+ return ReactDOM.createPortal( /*#__PURE__*/React.createElement(Modal, props), target);
11
+ };
12
+ export default ModalAdapter;
13
+ //# sourceMappingURL=ModalAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModalAdapter.js","names":["React","Modal","ReactDOM","usePortal","ModalAdapter","_ref","props","_extends","_objectDestructuringEmpty","target","createPortal","createElement"],"sources":["../../../src/components/ModalAdapter/ModalAdapter.js"],"sourcesContent":["import React from 'react';\nimport Modal from '@blaze-react/modal';\nimport ReactDOM from 'react-dom';\nimport { usePortal } from '../../hooks';\n\nconst ModalAdapter = ({ ...props }) => {\n const target = usePortal();\n\n return ReactDOM.createPortal(<Modal {...props} />, target);\n};\n\nexport default ModalAdapter;\n"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,KAAK,MAAM,oBAAoB;AACtC,OAAOC,QAAQ,MAAM,WAAW;AAChC,SAASC,SAAS,QAAQ,aAAa;AAEvC,MAAMC,YAAY,GAAGC,IAAA,IAAkB;EAAA,IAAZC,KAAK,GAAAC,QAAA,MAAAC,yBAAA,CAAAH,IAAA,GAAAA,IAAA;EAC9B,MAAMI,MAAM,GAAGN,SAAS,CAAC,CAAC;EAE1B,OAAOD,QAAQ,CAACQ,YAAY,eAACV,KAAA,CAAAW,aAAA,CAACV,KAAK,EAAKK,KAAQ,CAAC,EAAEG,MAAM,CAAC;AAC5D,CAAC;AAED,eAAeL,YAAY"}
@@ -0,0 +1,3 @@
1
+ import ModalAdapter from './ModalAdapter';
2
+ export default ModalAdapter;
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["ModalAdapter"],"sources":["../../../src/components/ModalAdapter/index.js"],"sourcesContent":["import ModalAdapter from './ModalAdapter';\n\nexport default ModalAdapter;\n"],"mappings":"AAAA,OAAOA,YAAY,MAAM,gBAAgB;AAEzC,eAAeA,YAAY"}
@@ -1 +1 @@
1
- {"version":3,"file":"FiltersList.js","names":["React","useContext","PropTypes","MainContext","TextSearch","Checkbox","SelectFilter","Range","CHECKBOX","SELECT","TEXT_SEARCH","RANGE","SEARCH_TERM","FiltersList","data","filters","hasUrl","entity","filterValues","updateFilterValues","shouldSearch","itemId","map","_ref","index","type","label","propsToDisplay","elementTitle","otherProps","_objectWithoutProperties","_excluded","length","dynamicKey","join","isDataAvailable","Object","keys","dataAggregations","areAggregationsAvailable","createElement","key","className","_extends","searchValue","prop","propTypes","bool","isRequired","string","object","func","array","defaultProps"],"sources":["../../../../src/components/SearchFilter/SearchFilter/FiltersList.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { TextSearch, Checkbox, SelectFilter, Range } from '../components';\nimport { CHECKBOX, SELECT, TEXT_SEARCH, RANGE, SEARCH_TERM } from '../constants';\n\nconst FiltersList = ({\n data,\n filters,\n hasUrl,\n entity,\n filterValues,\n updateFilterValues,\n shouldSearch\n}) => {\n const { itemId } = useContext(MainContext);\n\n return filters.map(({ type, label, propsToDisplay, elementTitle, ...otherProps }, index) => {\n if (!propsToDisplay && !propsToDisplay.length) return null;\n const dynamicKey = [itemId, index].join('-');\n const isDataAvailable = !!data && Object.keys(data).length;\n const dataAggregations = isDataAvailable ? data : null;\n const areAggregationsAvailable = isDataAvailable && !!dataAggregations;\n\n switch (type) {\n case TEXT_SEARCH:\n return (\n <div\n key={dynamicKey}\n className=\"filter__section filter__section--search-refine filter__section--search\">\n <TextSearch\n {...otherProps}\n label={label}\n elementTitle={elementTitle}\n searchValue={filterValues[SEARCH_TERM]}\n updateFilterValues={updateFilterValues}\n filterValues={filterValues}\n />\n </div>\n );\n case CHECKBOX:\n return (\n <div\n key={dynamicKey}\n className=\"filter__section filter__section--search-refine filter__section--checkboxes\">\n <Checkbox\n {...otherProps}\n data={data}\n prop={propsToDisplay[0]}\n label={label}\n elementTitle={elementTitle}\n hasUrl={hasUrl}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n shouldSearch={shouldSearch}\n />\n </div>\n );\n case SELECT:\n return (\n <div\n key={dynamicKey}\n className=\"filter__section filter__section--search-refine filter__section--selects\">\n <SelectFilter\n {...otherProps}\n data={data}\n prop={propsToDisplay[0]}\n label={label}\n elementTitle={elementTitle}\n hasUrl={hasUrl}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n shouldSearch={shouldSearch}\n />\n </div>\n );\n case RANGE:\n return (\n !!areAggregationsAvailable && (\n <div key={dynamicKey} className=\"range-slider__wrapper\">\n <Range\n {...otherProps}\n dataAggregations={dataAggregations}\n propsToDisplay={propsToDisplay}\n label={label}\n elementTitle={elementTitle}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n shouldSearch={shouldSearch}\n />\n </div>\n )\n );\n default:\n return null;\n }\n });\n};\n\nFiltersList.propTypes = {\n hasUrl: PropTypes.bool.isRequired,\n entity: PropTypes.string.isRequired,\n filterValues: PropTypes.object.isRequired,\n updateFilterValues: PropTypes.func.isRequired,\n data: PropTypes.object,\n filters: PropTypes.array,\n shouldSearch: PropTypes.bool\n};\n\nFiltersList.defaultProps = {\n shouldSearch: false,\n data: {},\n filters: []\n};\n\nexport default FiltersList;\n"],"mappings":"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"}
1
+ {"version":3,"file":"FiltersList.js","names":["React","useContext","PropTypes","MainContext","TextSearch","Checkbox","SelectFilter","Range","CHECKBOX","SELECT","TEXT_SEARCH","RANGE","SEARCH_TERM","FiltersList","data","filters","hasUrl","entity","filterValues","updateFilterValues","shouldSearch","itemId","map","_ref","index","type","label","propsToDisplay","elementTitle","otherProps","_objectWithoutProperties","_excluded","length","dynamicKey","join","isDataAvailable","Object","keys","dataAggregations","areAggregationsAvailable","createElement","key","className","_extends","searchValue","prop","propTypes","bool","isRequired","string","object","func","array","defaultProps"],"sources":["../../../../src/components/SearchFilter/SearchFilter/FiltersList.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { TextSearch, Checkbox, SelectFilter, Range } from '../components';\nimport { CHECKBOX, SELECT, TEXT_SEARCH, RANGE, SEARCH_TERM } from '../constants';\n\nconst FiltersList = ({\n data,\n filters,\n hasUrl,\n entity,\n filterValues,\n updateFilterValues,\n shouldSearch\n}) => {\n const { itemId } = useContext(MainContext);\n\n return filters.map(({ type, label, propsToDisplay, elementTitle, ...otherProps }, index) => {\n if (!propsToDisplay && !propsToDisplay.length) return null;\n const dynamicKey = [itemId, index].join('-');\n const isDataAvailable = !!data && Object.keys(data).length;\n const dataAggregations = isDataAvailable ? data : null;\n const areAggregationsAvailable = isDataAvailable && !!dataAggregations;\n\n switch (type) {\n case TEXT_SEARCH:\n return (\n <div\n key={dynamicKey}\n className=\"filter__section filter__section--search-refine filter__section--search\">\n <TextSearch\n {...otherProps}\n label={label}\n elementTitle={elementTitle}\n searchValue={filterValues[SEARCH_TERM]}\n updateFilterValues={updateFilterValues}\n filterValues={filterValues}\n />\n </div>\n );\n\n case CHECKBOX:\n return (\n <div\n key={dynamicKey}\n className=\"filter__section filter__section--search-refine filter__section--checkboxes\">\n <Checkbox\n {...otherProps}\n data={data}\n prop={propsToDisplay[0]}\n label={label}\n elementTitle={elementTitle}\n hasUrl={hasUrl}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n shouldSearch={shouldSearch}\n />\n </div>\n );\n\n case SELECT:\n return (\n <div\n key={dynamicKey}\n className=\"filter__section filter__section--search-refine filter__section--selects\">\n <SelectFilter\n {...otherProps}\n data={data}\n prop={propsToDisplay[0]}\n label={label}\n elementTitle={elementTitle}\n hasUrl={hasUrl}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n shouldSearch={shouldSearch}\n />\n </div>\n );\n\n case RANGE:\n return (\n !!areAggregationsAvailable && (\n <div key={dynamicKey} className=\"range-slider__wrapper\">\n <Range\n {...otherProps}\n dataAggregations={dataAggregations}\n propsToDisplay={propsToDisplay}\n label={label}\n elementTitle={elementTitle}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n shouldSearch={shouldSearch}\n />\n </div>\n )\n );\n default:\n return null;\n }\n });\n};\n\nFiltersList.propTypes = {\n hasUrl: PropTypes.bool.isRequired,\n entity: PropTypes.string.isRequired,\n filterValues: PropTypes.object.isRequired,\n updateFilterValues: PropTypes.func.isRequired,\n data: PropTypes.object,\n filters: PropTypes.array,\n shouldSearch: PropTypes.bool\n};\n\nFiltersList.defaultProps = {\n shouldSearch: false,\n data: {},\n filters: []\n};\n\nexport default FiltersList;\n"],"mappings":"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"}
@@ -11,7 +11,7 @@ const MobileFormToolbar = ({
11
11
  "data-testid": "reset-button",
12
12
  role: "button",
13
13
  onClick: handleReset,
14
- "aria-label": "Reset Filters"
14
+ "aria-label": "Reset search filters"
15
15
  }, RESET), /*#__PURE__*/React.createElement("button", {
16
16
  className: "search",
17
17
  type: "submit",
@@ -1 +1 @@
1
- {"version":3,"file":"MobileFormToolbar.js","names":["React","PropTypes","RESET","SEARCH","MobileFormToolbar","formId","handleReset","createElement","className","role","onClick","type","form","propTypes","string","isRequired","func"],"sources":["../../../../src/components/SearchFilter/SearchFilter/MobileFormToolbar.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { RESET, SEARCH } from '../constants';\n\nconst MobileFormToolbar = ({ formId, handleReset }) => (\n <div className=\"filter__refine filter__refine--mobile-open\">\n <div\n className=\"reset\"\n data-testid=\"reset-button\"\n role=\"button\"\n onClick={handleReset}\n aria-label=\"Reset Filters\">\n {RESET}\n </div>\n\n <button className=\"search\" type=\"submit\" form={formId}>\n {SEARCH}\n </button>\n </div>\n);\n\nMobileFormToolbar.propTypes = {\n formId: PropTypes.string.isRequired,\n handleReset: PropTypes.func.isRequired\n};\n\nexport default MobileFormToolbar;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,KAAK,EAAEC,MAAM,QAAQ,cAAc;AAE5C,MAAMC,iBAAiB,GAAGA,CAAC;EAAEC,MAAM;EAAEC;AAAY,CAAC,kBAChDN,KAAA,CAAAO,aAAA;EAAKC,SAAS,EAAC;AAA4C,gBACzDR,KAAA,CAAAO,aAAA;EACEC,SAAS,EAAC,OAAO;EACjB,eAAY,cAAc;EAC1BC,IAAI,EAAC,QAAQ;EACbC,OAAO,EAAEJ,WAAY;EACrB,cAAW;AAAe,GACzBJ,KACE,CAAC,eAENF,KAAA,CAAAO,aAAA;EAAQC,SAAS,EAAC,QAAQ;EAACG,IAAI,EAAC,QAAQ;EAACC,IAAI,EAAEP;AAAO,GACnDF,MACK,CACL,CACN;AAEDC,iBAAiB,CAACS,SAAS,GAAG;EAC5BR,MAAM,EAAEJ,SAAS,CAACa,MAAM,CAACC,UAAU;EACnCT,WAAW,EAAEL,SAAS,CAACe,IAAI,CAACD;AAC9B,CAAC;AAED,eAAeX,iBAAiB"}
1
+ {"version":3,"file":"MobileFormToolbar.js","names":["React","PropTypes","RESET","SEARCH","MobileFormToolbar","formId","handleReset","createElement","className","role","onClick","type","form","propTypes","string","isRequired","func"],"sources":["../../../../src/components/SearchFilter/SearchFilter/MobileFormToolbar.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { RESET, SEARCH } from '../constants';\n\nconst MobileFormToolbar = ({ formId, handleReset }) => (\n <div className=\"filter__refine filter__refine--mobile-open\">\n <div\n className=\"reset\"\n data-testid=\"reset-button\"\n role=\"button\"\n onClick={handleReset}\n aria-label=\"Reset search filters\">\n {RESET}\n </div>\n\n <button className=\"search\" type=\"submit\" form={formId}>\n {SEARCH}\n </button>\n </div>\n);\n\nMobileFormToolbar.propTypes = {\n formId: PropTypes.string.isRequired,\n handleReset: PropTypes.func.isRequired\n};\n\nexport default MobileFormToolbar;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,KAAK,EAAEC,MAAM,QAAQ,cAAc;AAE5C,MAAMC,iBAAiB,GAAGA,CAAC;EAAEC,MAAM;EAAEC;AAAY,CAAC,kBAChDN,KAAA,CAAAO,aAAA;EAAKC,SAAS,EAAC;AAA4C,gBACzDR,KAAA,CAAAO,aAAA;EACEC,SAAS,EAAC,OAAO;EACjB,eAAY,cAAc;EAC1BC,IAAI,EAAC,QAAQ;EACbC,OAAO,EAAEJ,WAAY;EACrB,cAAW;AAAsB,GAChCJ,KACE,CAAC,eAENF,KAAA,CAAAO,aAAA;EAAQC,SAAS,EAAC,QAAQ;EAACG,IAAI,EAAC,QAAQ;EAACC,IAAI,EAAEP;AAAO,GACnDF,MACK,CACL,CACN;AAEDC,iBAAiB,CAACS,SAAS,GAAG;EAC5BR,MAAM,EAAEJ,SAAS,CAACa,MAAM,CAACC,UAAU;EACnCT,WAAW,EAAEL,SAAS,CAACe,IAAI,CAACD;AAC9B,CAAC;AAED,eAAeX,iBAAiB"}
@@ -11,12 +11,12 @@ const ResetDesktopForm = ({
11
11
  className: "icon-button icon-button--reset",
12
12
  title: "reset--button",
13
13
  "data-testid": "reset-icon",
14
- onClick: handleReset
14
+ onClick: handleReset,
15
+ "aria-label": "Reset search filters"
15
16
  }, /*#__PURE__*/React.createElement("i", null, /*#__PURE__*/React.createElement(FaRedoAlt, null))), /*#__PURE__*/React.createElement("div", {
16
17
  role: "button",
17
18
  onClick: handleReset,
18
- "data-testid": "reset-button",
19
- "aria-label": "Reset Filters"
19
+ "data-testid": "reset-button"
20
20
  }, RESET));
21
21
  ResetDesktopForm.propTypes = {
22
22
  handleReset: PropTypes.func.isRequired
@@ -1 +1 @@
1
- {"version":3,"file":"ResetDesktopForm.js","names":["React","PropTypes","FaRedoAlt","RESET","ResetDesktopForm","handleReset","createElement","className","type","title","onClick","role","propTypes","func","isRequired"],"sources":["../../../../src/components/SearchFilter/SearchFilter/ResetDesktopForm.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { FaRedoAlt } from 'react-icons/fa';\nimport { RESET } from '../constants';\n\nconst ResetDesktopForm = ({ handleReset }) => (\n <div className=\"filter__reset\">\n <button\n type=\"button\"\n className=\"icon-button icon-button--reset\"\n title=\"reset--button\"\n data-testid=\"reset-icon\"\n onClick={handleReset}>\n <i>\n <FaRedoAlt />\n </i>\n </button>\n\n <div role=\"button\" onClick={handleReset} data-testid=\"reset-button\" aria-label=\"Reset Filters\">\n {RESET}\n </div>\n </div>\n);\n\nResetDesktopForm.propTypes = {\n handleReset: PropTypes.func.isRequired\n};\n\nexport default ResetDesktopForm;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,SAAS,QAAQ,gBAAgB;AAC1C,SAASC,KAAK,QAAQ,cAAc;AAEpC,MAAMC,gBAAgB,GAAGA,CAAC;EAAEC;AAAY,CAAC,kBACvCL,KAAA,CAAAM,aAAA;EAAKC,SAAS,EAAC;AAAe,gBAC5BP,KAAA,CAAAM,aAAA;EACEE,IAAI,EAAC,QAAQ;EACbD,SAAS,EAAC,gCAAgC;EAC1CE,KAAK,EAAC,eAAe;EACrB,eAAY,YAAY;EACxBC,OAAO,EAAEL;AAAY,gBACrBL,KAAA,CAAAM,aAAA,yBACEN,KAAA,CAAAM,aAAA,CAACJ,SAAS,MAAE,CACX,CACG,CAAC,eAETF,KAAA,CAAAM,aAAA;EAAKK,IAAI,EAAC,QAAQ;EAACD,OAAO,EAAEL,WAAY;EAAC,eAAY,cAAc;EAAC,cAAW;AAAe,GAC3FF,KACE,CACF,CACN;AAEDC,gBAAgB,CAACQ,SAAS,GAAG;EAC3BP,WAAW,EAAEJ,SAAS,CAACY,IAAI,CAACC;AAC9B,CAAC;AAED,eAAeV,gBAAgB"}
1
+ {"version":3,"file":"ResetDesktopForm.js","names":["React","PropTypes","FaRedoAlt","RESET","ResetDesktopForm","handleReset","createElement","className","type","title","onClick","role","propTypes","func","isRequired"],"sources":["../../../../src/components/SearchFilter/SearchFilter/ResetDesktopForm.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { FaRedoAlt } from 'react-icons/fa';\nimport { RESET } from '../constants';\n\nconst ResetDesktopForm = ({ handleReset }) => (\n <div className=\"filter__reset\">\n <button\n type=\"button\"\n className=\"icon-button icon-button--reset\"\n title=\"reset--button\"\n data-testid=\"reset-icon\"\n onClick={handleReset}\n aria-label=\"Reset search filters\">\n <i>\n <FaRedoAlt />\n </i>\n </button>\n\n <div role=\"button\" onClick={handleReset} data-testid=\"reset-button\">\n {RESET}\n </div>\n </div>\n);\n\nResetDesktopForm.propTypes = {\n handleReset: PropTypes.func.isRequired\n};\n\nexport default ResetDesktopForm;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,SAAS,QAAQ,gBAAgB;AAC1C,SAASC,KAAK,QAAQ,cAAc;AAEpC,MAAMC,gBAAgB,GAAGA,CAAC;EAAEC;AAAY,CAAC,kBACvCL,KAAA,CAAAM,aAAA;EAAKC,SAAS,EAAC;AAAe,gBAC5BP,KAAA,CAAAM,aAAA;EACEE,IAAI,EAAC,QAAQ;EACbD,SAAS,EAAC,gCAAgC;EAC1CE,KAAK,EAAC,eAAe;EACrB,eAAY,YAAY;EACxBC,OAAO,EAAEL,WAAY;EACrB,cAAW;AAAsB,gBACjCL,KAAA,CAAAM,aAAA,yBACEN,KAAA,CAAAM,aAAA,CAACJ,SAAS,MAAE,CACX,CACG,CAAC,eAETF,KAAA,CAAAM,aAAA;EAAKK,IAAI,EAAC,QAAQ;EAACD,OAAO,EAAEL,WAAY;EAAC,eAAY;AAAc,GAChEF,KACE,CACF,CACN;AAEDC,gBAAgB,CAACQ,SAAS,GAAG;EAC3BP,WAAW,EAAEJ,SAAS,CAACY,IAAI,CAACC;AAC9B,CAAC;AAED,eAAeV,gBAAgB"}
@@ -3,15 +3,16 @@ import PropTypes from 'prop-types';
3
3
  import classnames from 'classnames';
4
4
  import debounce from 'lodash.debounce';
5
5
  import FiltersList from './FiltersList';
6
- import { isDeviceDesktop, getResponsiveFilterClassnames, buildUrlQuery } from '../helpers';
7
6
  import CloseMobileForm from './CloseMobileForm';
8
7
  import ResetDesktopForm from './ResetDesktopForm';
9
8
  import MobileFormToolbar from './MobileFormToolbar';
9
+ import { useFilterAggregationValues } from '../../../hooks';
10
+ import { isDeviceDesktop, getResponsiveFilterClassnames, buildUrlQuery } from '../helpers';
10
11
  import { SEARCH, REFINE, MORE_FILTERS_CLASSES } from '../constants';
11
12
  const SearchFilter = ({
12
13
  searchFilterRef,
13
14
  listComponentName,
14
- data,
15
+ data: filterData,
15
16
  filters,
16
17
  hasUrl,
17
18
  entity,
@@ -24,10 +25,15 @@ const SearchFilter = ({
24
25
  groupAfterMobile,
25
26
  filterValues,
26
27
  setAppliedFilters,
28
+ mobileRefineButtonText,
27
29
  query
28
30
  }) => {
29
31
  const [moreFiltersMobileCollapsed, setMoreFiltersMobileCollapsed] = useState(true);
30
32
  const [moreFiltersDesktopCollapsed, setMoreFiltersDesktopCollapsed] = useState(true);
33
+ const [data, setStateValues, setSelectProp] = useFilterAggregationValues({
34
+ data: filterData,
35
+ filterValues
36
+ });
31
37
  const doSubmit = newValues => {
32
38
  const newQuery = filterValues ? buildUrlQuery(newValues, filters, listComponentName, query) : '';
33
39
  handleSearch(newQuery);
@@ -63,6 +69,8 @@ const SearchFilter = ({
63
69
  doSubmit();
64
70
  };
65
71
  const updateFilterValues = (newValues, shouldSubmit) => {
72
+ const [lastChangedFilter] = Object.keys(newValues);
73
+ setSelectProp(lastChangedFilter);
66
74
  setAppliedFilters({
67
75
  newValues,
68
76
  shouldSearch: shouldSubmit,
@@ -78,6 +86,7 @@ const SearchFilter = ({
78
86
  onSubmit: e => {
79
87
  e.preventDefault();
80
88
  doSubmit(filterValues);
89
+ setStateValues(filterData);
81
90
  }
82
91
  }, displaySearchFilter && /*#__PURE__*/React.createElement(CloseMobileForm, {
83
92
  handleClose: () => setDisplaySearchFilter(false)
@@ -124,6 +133,7 @@ const SearchFilter = ({
124
133
  "data-testId": "search-filter-desktop-toggler",
125
134
  className: moreFiltersDesktopTogglerClass,
126
135
  type: "button",
136
+ "aria-label": moreFiltersDesktopCollapsed ? 'Show more search filters' : 'Show less search filters',
127
137
  onClick: () => setMoreFiltersDesktopCollapsed(!moreFiltersDesktopCollapsed)
128
138
  }, moreFiltersDesktopCollapsed ? 'More filters' : 'Less filters'), /*#__PURE__*/React.createElement("div", {
129
139
  className: moreFiltersDesktopWrapperClass
@@ -159,12 +169,12 @@ const SearchFilter = ({
159
169
  handleReset: handleReset
160
170
  })), isCollapsedOnResponsive && !displaySearchFilter && /*#__PURE__*/React.createElement("div", {
161
171
  className: "filter__refine filter__refine--mobile-close",
162
- "data-testid": "refine-mobile"
172
+ "data-testid": "refine-mobile",
173
+ "aria-label": "Toggle Search Filter"
163
174
  }, /*#__PURE__*/React.createElement("div", {
164
175
  role: "button",
165
- onClick: () => setDisplaySearchFilter(true),
166
- "aria-label": "Toggle Search Filter"
167
- }, REFINE)));
176
+ onClick: () => setDisplaySearchFilter(true)
177
+ }, mobileRefineButtonText || REFINE)));
168
178
  };
169
179
  SearchFilter.propTypes = {
170
180
  data: PropTypes.object.isRequired,
@@ -182,9 +192,11 @@ SearchFilter.propTypes = {
182
192
  filterValues: PropTypes.object.isRequired,
183
193
  setAppliedFilters: PropTypes.func.isRequired,
184
194
  listComponentName: PropTypes.string,
185
- query: PropTypes.object
195
+ query: PropTypes.object,
196
+ mobileRefineButtonText: PropTypes.string
186
197
  };
187
198
  SearchFilter.defaultProps = {
199
+ mobileRefineButtonText: '',
188
200
  listComponentName: '',
189
201
  query: {}
190
202
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SearchFilter.js","names":["React","useState","useEffect","PropTypes","classnames","debounce","FiltersList","isDeviceDesktop","getResponsiveFilterClassnames","buildUrlQuery","CloseMobileForm","ResetDesktopForm","MobileFormToolbar","SEARCH","REFINE","MORE_FILTERS_CLASSES","SearchFilter","searchFilterRef","listComponentName","data","filters","hasUrl","entity","handleSearch","name","isCollapsedOnResponsive","displaySearchFilter","setDisplaySearchFilter","groupAfterDesktop","groupAfterMobile","filterValues","setAppliedFilters","query","moreFiltersMobileCollapsed","setMoreFiltersMobileCollapsed","moreFiltersDesktopCollapsed","setMoreFiltersDesktopCollapsed","doSubmit","newValues","newQuery","handleSubmit","shouldSearch","type","formClass","moreFiltersMobileWrapperClass","moreFiltersMobileTogglerClass","moreFiltersDesktopWrapperClass","moreFiltersDesktopTogglerClass","formId","handleReset","updateFilterValues","shouldSubmit","shouldGroup","createElement","Fragment","ref","className","id","onSubmit","e","preventDefault","handleClose","slice","onClick","MOBILE_CONTENT","DESKTOP_CONTENT","DESKTOP_BUTTONS","MOBILE_BUTTONS","role","propTypes","object","isRequired","array","bool","string","func","number","defaultProps"],"sources":["../../../../src/components/SearchFilter/SearchFilter/SearchFilter.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport debounce from 'lodash.debounce';\nimport FiltersList from './FiltersList';\nimport { isDeviceDesktop, getResponsiveFilterClassnames, buildUrlQuery } from '../helpers';\n\nimport CloseMobileForm from './CloseMobileForm';\nimport ResetDesktopForm from './ResetDesktopForm';\nimport MobileFormToolbar from './MobileFormToolbar';\nimport { SEARCH, REFINE, MORE_FILTERS_CLASSES } from '../constants';\n\nconst SearchFilter = ({\n searchFilterRef,\n listComponentName,\n data,\n filters,\n hasUrl,\n entity,\n handleSearch,\n name,\n isCollapsedOnResponsive,\n displaySearchFilter,\n setDisplaySearchFilter,\n groupAfterDesktop,\n groupAfterMobile,\n filterValues,\n setAppliedFilters,\n query\n}) => {\n const [moreFiltersMobileCollapsed, setMoreFiltersMobileCollapsed] = useState(true);\n const [moreFiltersDesktopCollapsed, setMoreFiltersDesktopCollapsed] = useState(true);\n\n const doSubmit = newValues => {\n const newQuery = filterValues\n ? buildUrlQuery(newValues, filters, listComponentName, query)\n : '';\n handleSearch(newQuery);\n setMoreFiltersDesktopCollapsed(true);\n setMoreFiltersMobileCollapsed(true);\n };\n\n const handleSubmit = debounce(newValues => {\n doSubmit(newValues);\n }, 200);\n\n useEffect(\n () => {\n if (filterValues.shouldSearch) {\n handleSubmit(filterValues);\n setAppliedFilters({ type: 'resetSearch' });\n }\n },\n [filterValues, handleSubmit, setAppliedFilters]\n );\n\n const formClass = classnames('filter__form filter__form--initial', {\n 'filter__form--mobile': isCollapsedOnResponsive && displaySearchFilter,\n 'filter__form--collapsible': isCollapsedOnResponsive\n });\n\n const {\n moreFiltersMobileWrapperClass,\n moreFiltersMobileTogglerClass,\n moreFiltersDesktopWrapperClass,\n moreFiltersDesktopTogglerClass\n } = getResponsiveFilterClassnames(moreFiltersDesktopCollapsed, moreFiltersMobileCollapsed);\n\n const formId = `filter-${name}-form`;\n\n const handleReset = () => {\n setAppliedFilters({ type: 'reset' });\n doSubmit();\n };\n\n const updateFilterValues = (newValues, shouldSubmit) => {\n setAppliedFilters({ newValues, shouldSearch: shouldSubmit, type: 'update' });\n };\n\n const shouldGroup = !!(groupAfterDesktop || groupAfterMobile);\n\n return (\n <>\n <form\n ref={searchFilterRef}\n className={formClass}\n data-testid={formId}\n id={formId}\n onSubmit={e => {\n e.preventDefault();\n doSubmit(filterValues);\n }}>\n {displaySearchFilter && (\n <CloseMobileForm handleClose={() => setDisplaySearchFilter(false)} />\n )}\n\n <div className=\"filter filter--search-refine\">\n <ResetDesktopForm handleReset={handleReset} />\n\n <div className=\"filter__wrapper filter__wrapper--search-refine\">\n {!shouldGroup && (\n <FiltersList\n shouldSearch={!hasUrl}\n data={data}\n filters={filters}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n )}\n\n {shouldGroup && (\n <>\n <FiltersList\n shouldSearch={!hasUrl}\n data={data}\n filters={filters.slice(0, groupAfterMobile)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterMobile && (\n <button\n data-testId=\"search-filter-mobile-toggler\"\n className={moreFiltersMobileTogglerClass}\n type=\"button\"\n onClick={() => setMoreFiltersMobileCollapsed(!moreFiltersMobileCollapsed)}>\n Filters\n </button>\n )}\n\n <div className={moreFiltersMobileWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.MOBILE_CONTENT}>\n <FiltersList\n shouldSearch={!hasUrl && isDeviceDesktop()}\n data={data}\n filters={filters.slice(\n groupAfterMobile,\n groupAfterDesktop ? groupAfterDesktop - 1 : 0\n )}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterDesktop && (\n <button\n data-testId=\"search-filter-desktop-toggler\"\n className={moreFiltersDesktopTogglerClass}\n type=\"button\"\n onClick={() =>\n setMoreFiltersDesktopCollapsed(!moreFiltersDesktopCollapsed)\n }>\n {moreFiltersDesktopCollapsed ? 'More filters' : 'Less filters'}\n </button>\n )}\n\n <div className={moreFiltersDesktopWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.DESKTOP_CONTENT}>\n <FiltersList\n shouldSearch={false}\n data={data}\n filters={filters.slice(groupAfterDesktop)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n </div>\n\n <div className={MORE_FILTERS_CLASSES.DESKTOP_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </div>\n\n <div className={MORE_FILTERS_CLASSES.MOBILE_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </>\n )}\n\n {!displaySearchFilter && (\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n )}\n </div>\n </div>\n\n {displaySearchFilter && <MobileFormToolbar formId={formId} handleReset={handleReset} />}\n </form>\n\n {isCollapsedOnResponsive &&\n !displaySearchFilter && (\n <div className=\"filter__refine filter__refine--mobile-close\" data-testid=\"refine-mobile\">\n <div\n role=\"button\"\n onClick={() => setDisplaySearchFilter(true)}\n aria-label=\"Toggle Search Filter\">\n {REFINE}\n </div>\n </div>\n )}\n </>\n );\n};\n\nSearchFilter.propTypes = {\n data: PropTypes.object.isRequired,\n filters: PropTypes.array.isRequired,\n searchFilterRef: PropTypes.object.isRequired,\n hasUrl: PropTypes.bool.isRequired,\n entity: PropTypes.string.isRequired,\n handleSearch: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n displaySearchFilter: PropTypes.bool.isRequired,\n setDisplaySearchFilter: PropTypes.func.isRequired,\n isCollapsedOnResponsive: PropTypes.bool.isRequired,\n groupAfterDesktop: PropTypes.number.isRequired,\n groupAfterMobile: PropTypes.number.isRequired,\n filterValues: PropTypes.object.isRequired,\n setAppliedFilters: PropTypes.func.isRequired,\n listComponentName: PropTypes.string,\n query: PropTypes.object\n};\n\nSearchFilter.defaultProps = {\n listComponentName: '',\n query: {}\n};\n\nexport default SearchFilter;\n"],"mappings":"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"}
1
+ {"version":3,"file":"SearchFilter.js","names":["React","useState","useEffect","PropTypes","classnames","debounce","FiltersList","CloseMobileForm","ResetDesktopForm","MobileFormToolbar","useFilterAggregationValues","isDeviceDesktop","getResponsiveFilterClassnames","buildUrlQuery","SEARCH","REFINE","MORE_FILTERS_CLASSES","SearchFilter","searchFilterRef","listComponentName","data","filterData","filters","hasUrl","entity","handleSearch","name","isCollapsedOnResponsive","displaySearchFilter","setDisplaySearchFilter","groupAfterDesktop","groupAfterMobile","filterValues","setAppliedFilters","mobileRefineButtonText","query","moreFiltersMobileCollapsed","setMoreFiltersMobileCollapsed","moreFiltersDesktopCollapsed","setMoreFiltersDesktopCollapsed","setStateValues","setSelectProp","doSubmit","newValues","newQuery","handleSubmit","shouldSearch","type","formClass","moreFiltersMobileWrapperClass","moreFiltersMobileTogglerClass","moreFiltersDesktopWrapperClass","moreFiltersDesktopTogglerClass","formId","handleReset","updateFilterValues","shouldSubmit","lastChangedFilter","Object","keys","shouldGroup","createElement","Fragment","ref","className","id","onSubmit","e","preventDefault","handleClose","slice","onClick","MOBILE_CONTENT","DESKTOP_CONTENT","DESKTOP_BUTTONS","MOBILE_BUTTONS","role","propTypes","object","isRequired","array","bool","string","func","number","defaultProps"],"sources":["../../../../src/components/SearchFilter/SearchFilter/SearchFilter.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport debounce from 'lodash.debounce';\nimport FiltersList from './FiltersList';\nimport CloseMobileForm from './CloseMobileForm';\nimport ResetDesktopForm from './ResetDesktopForm';\nimport MobileFormToolbar from './MobileFormToolbar';\nimport { useFilterAggregationValues } from '../../../hooks';\nimport { isDeviceDesktop, getResponsiveFilterClassnames, buildUrlQuery } from '../helpers';\nimport { SEARCH, REFINE, MORE_FILTERS_CLASSES } from '../constants';\n\nconst SearchFilter = ({\n searchFilterRef,\n listComponentName,\n data: filterData,\n filters,\n hasUrl,\n entity,\n handleSearch,\n name,\n isCollapsedOnResponsive,\n displaySearchFilter,\n setDisplaySearchFilter,\n groupAfterDesktop,\n groupAfterMobile,\n filterValues,\n setAppliedFilters,\n mobileRefineButtonText,\n query\n}) => {\n const [moreFiltersMobileCollapsed, setMoreFiltersMobileCollapsed] = useState(true);\n const [moreFiltersDesktopCollapsed, setMoreFiltersDesktopCollapsed] = useState(true);\n\n const [data, setStateValues, setSelectProp] = useFilterAggregationValues({\n data: filterData,\n filterValues\n });\n\n const doSubmit = newValues => {\n const newQuery = filterValues\n ? buildUrlQuery(newValues, filters, listComponentName, query)\n : '';\n handleSearch(newQuery);\n setMoreFiltersDesktopCollapsed(true);\n setMoreFiltersMobileCollapsed(true);\n };\n\n const handleSubmit = debounce(newValues => {\n doSubmit(newValues);\n }, 200);\n\n useEffect(\n () => {\n if (filterValues.shouldSearch) {\n handleSubmit(filterValues);\n setAppliedFilters({ type: 'resetSearch' });\n }\n },\n [filterValues, handleSubmit, setAppliedFilters]\n );\n\n const formClass = classnames('filter__form filter__form--initial', {\n 'filter__form--mobile': isCollapsedOnResponsive && displaySearchFilter,\n 'filter__form--collapsible': isCollapsedOnResponsive\n });\n\n const {\n moreFiltersMobileWrapperClass,\n moreFiltersMobileTogglerClass,\n moreFiltersDesktopWrapperClass,\n moreFiltersDesktopTogglerClass\n } = getResponsiveFilterClassnames(moreFiltersDesktopCollapsed, moreFiltersMobileCollapsed);\n\n const formId = `filter-${name}-form`;\n\n const handleReset = () => {\n setAppliedFilters({ type: 'reset' });\n doSubmit();\n };\n\n const updateFilterValues = (newValues, shouldSubmit) => {\n const [lastChangedFilter] = Object.keys(newValues);\n setSelectProp(lastChangedFilter);\n setAppliedFilters({ newValues, shouldSearch: shouldSubmit, type: 'update' });\n };\n\n const shouldGroup = !!(groupAfterDesktop || groupAfterMobile);\n\n return (\n <>\n <form\n ref={searchFilterRef}\n className={formClass}\n data-testid={formId}\n id={formId}\n onSubmit={e => {\n e.preventDefault();\n doSubmit(filterValues);\n setStateValues(filterData);\n }}>\n {displaySearchFilter && (\n <CloseMobileForm handleClose={() => setDisplaySearchFilter(false)} />\n )}\n\n <div className=\"filter filter--search-refine\">\n <ResetDesktopForm handleReset={handleReset} />\n\n <div className=\"filter__wrapper filter__wrapper--search-refine\">\n {!shouldGroup && (\n <FiltersList\n shouldSearch={!hasUrl}\n data={data}\n filters={filters}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n )}\n\n {shouldGroup && (\n <>\n <FiltersList\n shouldSearch={!hasUrl}\n data={data}\n filters={filters.slice(0, groupAfterMobile)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterMobile && (\n <button\n data-testId=\"search-filter-mobile-toggler\"\n className={moreFiltersMobileTogglerClass}\n type=\"button\"\n onClick={() => setMoreFiltersMobileCollapsed(!moreFiltersMobileCollapsed)}>\n Filters\n </button>\n )}\n\n <div className={moreFiltersMobileWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.MOBILE_CONTENT}>\n <FiltersList\n shouldSearch={!hasUrl && isDeviceDesktop()}\n data={data}\n filters={filters.slice(\n groupAfterMobile,\n groupAfterDesktop ? groupAfterDesktop - 1 : 0\n )}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterDesktop && (\n <button\n data-testId=\"search-filter-desktop-toggler\"\n className={moreFiltersDesktopTogglerClass}\n type=\"button\"\n aria-label={\n moreFiltersDesktopCollapsed\n ? 'Show more search filters'\n : 'Show less search filters'\n }\n onClick={() =>\n setMoreFiltersDesktopCollapsed(!moreFiltersDesktopCollapsed)\n }>\n {moreFiltersDesktopCollapsed ? 'More filters' : 'Less filters'}\n </button>\n )}\n\n <div className={moreFiltersDesktopWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.DESKTOP_CONTENT}>\n <FiltersList\n shouldSearch={false}\n data={data}\n filters={filters.slice(groupAfterDesktop)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n </div>\n\n <div className={MORE_FILTERS_CLASSES.DESKTOP_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </div>\n\n <div className={MORE_FILTERS_CLASSES.MOBILE_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </>\n )}\n\n {!displaySearchFilter && (\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n )}\n </div>\n </div>\n\n {displaySearchFilter && <MobileFormToolbar formId={formId} handleReset={handleReset} />}\n </form>\n\n {isCollapsedOnResponsive &&\n !displaySearchFilter && (\n <div\n className=\"filter__refine filter__refine--mobile-close\"\n data-testid=\"refine-mobile\"\n aria-label=\"Toggle Search Filter\">\n <div role=\"button\" onClick={() => setDisplaySearchFilter(true)}>\n {mobileRefineButtonText || REFINE}\n </div>\n </div>\n )}\n </>\n );\n};\n\nSearchFilter.propTypes = {\n data: PropTypes.object.isRequired,\n filters: PropTypes.array.isRequired,\n searchFilterRef: PropTypes.object.isRequired,\n hasUrl: PropTypes.bool.isRequired,\n entity: PropTypes.string.isRequired,\n handleSearch: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n displaySearchFilter: PropTypes.bool.isRequired,\n setDisplaySearchFilter: PropTypes.func.isRequired,\n isCollapsedOnResponsive: PropTypes.bool.isRequired,\n groupAfterDesktop: PropTypes.number.isRequired,\n groupAfterMobile: PropTypes.number.isRequired,\n filterValues: PropTypes.object.isRequired,\n setAppliedFilters: PropTypes.func.isRequired,\n listComponentName: PropTypes.string,\n query: PropTypes.object,\n mobileRefineButtonText: PropTypes.string\n};\n\nSearchFilter.defaultProps = {\n mobileRefineButtonText: '',\n listComponentName: '',\n query: {}\n};\n\nexport default SearchFilter;\n"],"mappings":"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"}