@blaze-cms/react-page-builder 0.146.0-alpha.2 → 0.146.0-alpha.21

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 (228) hide show
  1. package/CHANGELOG.md +132 -0
  2. package/lib/components/Card/Card.js +14 -9
  3. package/lib/components/Card/Card.js.map +1 -1
  4. package/lib/components/Card/CardsContainer.js +8 -4
  5. package/lib/components/Card/CardsContainer.js.map +1 -1
  6. package/lib/components/Card/CardsFactory.js +37 -7
  7. package/lib/components/Card/CardsFactory.js.map +1 -1
  8. package/lib/components/Card/CardsRender.js +8 -4
  9. package/lib/components/Card/CardsRender.js.map +1 -1
  10. package/lib/components/Card/helpers/index.js +6 -6
  11. package/lib/components/Card/helpers/index.js.map +1 -1
  12. package/lib/components/Image/Lightbox/Lightbox.js +2 -2
  13. package/lib/components/Image/Lightbox/Lightbox.js.map +1 -1
  14. package/lib/components/List/ListRender.js.map +1 -1
  15. package/lib/components/MenuItem/MenuEntitiesItem.js +204 -0
  16. package/lib/components/MenuItem/MenuEntitiesItem.js.map +1 -0
  17. package/lib/components/MenuItem/MenuItem.js +25 -68
  18. package/lib/components/MenuItem/MenuItem.js.map +1 -1
  19. package/lib/components/MenuItem/MenuItemRender.js +104 -0
  20. package/lib/components/MenuItem/MenuItemRender.js.map +1 -0
  21. package/lib/components/MenuItem/helpers/index.js +15 -0
  22. package/lib/components/MenuItem/helpers/index.js.map +1 -0
  23. package/lib/components/MenuItem/helpers/inject-helper-into-template.js +17 -0
  24. package/lib/components/MenuItem/helpers/inject-helper-into-template.js.map +1 -0
  25. package/lib/components/Modal/Modal.js +2 -2
  26. package/lib/components/Modal/Modal.js.map +1 -1
  27. package/lib/components/ModalAdapter/ModalAdapter.js +21 -0
  28. package/lib/components/ModalAdapter/ModalAdapter.js.map +1 -0
  29. package/lib/components/ModalAdapter/index.js +11 -0
  30. package/lib/components/ModalAdapter/index.js.map +1 -0
  31. package/lib/components/SearchFilter/SearchFilter/SearchFilter.js +22 -4
  32. package/lib/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  33. package/lib/components/SearchFilter/SearchFilterContainer.js +22 -27
  34. package/lib/components/SearchFilter/SearchFilterContainer.js.map +1 -1
  35. package/lib/components/SearchFilter/components/Select.js.map +1 -1
  36. package/lib/components/SearchFilter/helpers/build-list-name-query.js +31 -0
  37. package/lib/components/SearchFilter/helpers/build-list-name-query.js.map +1 -0
  38. package/lib/components/SearchFilter/helpers/decode-encode.js.map +1 -1
  39. package/lib/components/SearchFilter/helpers/index.js +7 -0
  40. package/lib/components/SearchFilter/helpers/index.js.map +1 -1
  41. package/lib/components/Video/Video.js +2 -1
  42. package/lib/components/Video/Video.js.map +1 -1
  43. package/lib/components/Video/VideoContext.js +12 -0
  44. package/lib/components/Video/VideoContext.js.map +1 -0
  45. package/lib/components/Video/VideoModal.js +2 -2
  46. package/lib/components/Video/VideoModal.js.map +1 -1
  47. package/lib/components/Video/VideoRender.js +36 -3
  48. package/lib/components/Video/VideoRender.js.map +1 -1
  49. package/lib/components/Video/constants.js +14 -0
  50. package/lib/components/Video/constants.js.map +1 -0
  51. package/lib/components/Video/helpers/emit-gtm-event.js +31 -0
  52. package/lib/components/Video/helpers/emit-gtm-event.js.map +1 -0
  53. package/lib/components/Video/providers/JWPlayer/JWPlayerController.js +28 -8
  54. package/lib/components/Video/providers/JWPlayer/JWPlayerController.js.map +1 -1
  55. package/lib/components/Video/providers/JWPlayer/JWPlayerProvider.js +16 -4
  56. package/lib/components/Video/providers/JWPlayer/JWPlayerProvider.js.map +1 -1
  57. package/lib/components/Video/providers/YouTube/YoutubeEmbeded.js +57 -0
  58. package/lib/components/Video/providers/YouTube/YoutubeEmbeded.js.map +1 -1
  59. package/lib/helpers/build-filters-query.js +1 -2
  60. package/lib/helpers/build-filters-query.js.map +1 -1
  61. package/lib/{components/Card/helpers → helpers}/filter-query-setup.js +10 -7
  62. package/lib/helpers/filter-query-setup.js.map +1 -0
  63. package/lib/{components/Card/helpers → helpers}/filters-setup.js +8 -5
  64. package/lib/helpers/filters-setup.js.map +1 -0
  65. package/lib/helpers/get-updated-items-to-display.js.map +1 -0
  66. package/lib/helpers/get-updated-sort-properties.js.map +1 -0
  67. package/lib/helpers/index.js +42 -0
  68. package/lib/helpers/index.js.map +1 -1
  69. package/lib/helpers/should-return.js.map +1 -0
  70. package/lib/{components/Card/helpers → helpers}/should-skip-single-query.js +1 -1
  71. package/lib/helpers/should-skip-single-query.js.map +1 -0
  72. package/lib/hooks/index.js +14 -0
  73. package/lib/hooks/index.js.map +1 -1
  74. package/lib/hooks/use-filter-aggregation-values.js +54 -0
  75. package/lib/hooks/use-filter-aggregation-values.js.map +1 -0
  76. package/lib/hooks/use-portal.js +30 -0
  77. package/lib/hooks/use-portal.js.map +1 -0
  78. package/lib-es/components/Card/Card.js +14 -9
  79. package/lib-es/components/Card/Card.js.map +1 -1
  80. package/lib-es/components/Card/CardsContainer.js +9 -5
  81. package/lib-es/components/Card/CardsContainer.js.map +1 -1
  82. package/lib-es/components/Card/CardsFactory.js +40 -9
  83. package/lib-es/components/Card/CardsFactory.js.map +1 -1
  84. package/lib-es/components/Card/CardsRender.js +9 -5
  85. package/lib-es/components/Card/CardsRender.js.map +1 -1
  86. package/lib-es/components/Card/helpers/index.js +6 -6
  87. package/lib-es/components/Card/helpers/index.js.map +1 -1
  88. package/lib-es/components/Image/Lightbox/Lightbox.js +1 -1
  89. package/lib-es/components/Image/Lightbox/Lightbox.js.map +1 -1
  90. package/lib-es/components/List/ListRender.js.map +1 -1
  91. package/lib-es/components/MenuItem/MenuEntitiesItem.js +178 -0
  92. package/lib-es/components/MenuItem/MenuEntitiesItem.js.map +1 -0
  93. package/lib-es/components/MenuItem/MenuItem.js +28 -57
  94. package/lib-es/components/MenuItem/MenuItem.js.map +1 -1
  95. package/lib-es/components/MenuItem/MenuItemRender.js +84 -0
  96. package/lib-es/components/MenuItem/MenuItemRender.js.map +1 -0
  97. package/lib-es/components/MenuItem/helpers/index.js +3 -0
  98. package/lib-es/components/MenuItem/helpers/index.js.map +1 -0
  99. package/lib-es/components/MenuItem/helpers/inject-helper-into-template.js +8 -0
  100. package/lib-es/components/MenuItem/helpers/inject-helper-into-template.js.map +1 -0
  101. package/lib-es/components/Modal/Modal.js +1 -1
  102. package/lib-es/components/Modal/Modal.js.map +1 -1
  103. package/lib-es/components/ModalAdapter/ModalAdapter.js +13 -0
  104. package/lib-es/components/ModalAdapter/ModalAdapter.js.map +1 -0
  105. package/lib-es/components/ModalAdapter/index.js +3 -0
  106. package/lib-es/components/ModalAdapter/index.js.map +1 -0
  107. package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js +15 -4
  108. package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  109. package/lib-es/components/SearchFilter/SearchFilterContainer.js +23 -20
  110. package/lib-es/components/SearchFilter/SearchFilterContainer.js.map +1 -1
  111. package/lib-es/components/SearchFilter/components/Select.js.map +1 -1
  112. package/lib-es/components/SearchFilter/helpers/build-list-name-query.js +15 -0
  113. package/lib-es/components/SearchFilter/helpers/build-list-name-query.js.map +1 -0
  114. package/lib-es/components/SearchFilter/helpers/decode-encode.js.map +1 -1
  115. package/lib-es/components/SearchFilter/helpers/index.js +2 -1
  116. package/lib-es/components/SearchFilter/helpers/index.js.map +1 -1
  117. package/lib-es/components/Video/Video.js +2 -1
  118. package/lib-es/components/Video/Video.js.map +1 -1
  119. package/lib-es/components/Video/VideoContext.js +6 -0
  120. package/lib-es/components/Video/VideoContext.js.map +1 -0
  121. package/lib-es/components/Video/VideoModal.js +1 -1
  122. package/lib-es/components/Video/VideoModal.js.map +1 -1
  123. package/lib-es/components/Video/VideoRender.js +28 -3
  124. package/lib-es/components/Video/VideoRender.js.map +1 -1
  125. package/lib-es/components/Video/constants.js +7 -0
  126. package/lib-es/components/Video/constants.js.map +1 -0
  127. package/lib-es/components/Video/helpers/emit-gtm-event.js +25 -0
  128. package/lib-es/components/Video/helpers/emit-gtm-event.js.map +1 -0
  129. package/lib-es/components/Video/providers/JWPlayer/JWPlayerController.js +28 -4
  130. package/lib-es/components/Video/providers/JWPlayer/JWPlayerController.js.map +1 -1
  131. package/lib-es/components/Video/providers/JWPlayer/JWPlayerProvider.js +10 -4
  132. package/lib-es/components/Video/providers/JWPlayer/JWPlayerProvider.js.map +1 -1
  133. package/lib-es/components/Video/providers/YouTube/YoutubeEmbeded.js +60 -2
  134. package/lib-es/components/Video/providers/YouTube/YoutubeEmbeded.js.map +1 -1
  135. package/lib-es/helpers/build-filters-query.js +1 -2
  136. package/lib-es/helpers/build-filters-query.js.map +1 -1
  137. package/lib-es/{components/Card/helpers → helpers}/filter-query-setup.js +5 -3
  138. package/lib-es/helpers/filter-query-setup.js.map +1 -0
  139. package/lib-es/{components/Card/helpers → helpers}/filters-setup.js +4 -2
  140. package/lib-es/helpers/filters-setup.js.map +1 -0
  141. package/lib-es/helpers/get-updated-items-to-display.js.map +1 -0
  142. package/lib-es/helpers/get-updated-sort-properties.js.map +1 -0
  143. package/lib-es/helpers/index.js +6 -0
  144. package/lib-es/helpers/index.js.map +1 -1
  145. package/lib-es/helpers/should-return.js.map +1 -0
  146. package/lib-es/{components/Card/helpers → helpers}/should-skip-single-query.js +1 -1
  147. package/lib-es/helpers/should-skip-single-query.js.map +1 -0
  148. package/lib-es/hooks/index.js +2 -0
  149. package/lib-es/hooks/index.js.map +1 -1
  150. package/lib-es/hooks/use-filter-aggregation-values.js +31 -0
  151. package/lib-es/hooks/use-filter-aggregation-values.js.map +1 -0
  152. package/lib-es/hooks/use-portal.js +14 -0
  153. package/lib-es/hooks/use-portal.js.map +1 -0
  154. package/package.json +7 -7
  155. package/src/components/Card/Card.js +25 -16
  156. package/src/components/Card/CardsContainer.js +7 -3
  157. package/src/components/Card/CardsFactory.js +34 -6
  158. package/src/components/Card/CardsRender.js +6 -2
  159. package/src/components/Card/helpers/index.js +6 -6
  160. package/src/components/Image/Lightbox/Lightbox.js +1 -1
  161. package/src/components/List/ListRender.js +0 -1
  162. package/src/components/MenuItem/MenuEntitiesItem.js +204 -0
  163. package/src/components/MenuItem/MenuItem.js +15 -58
  164. package/src/components/MenuItem/MenuItemRender.js +92 -0
  165. package/src/components/MenuItem/helpers/index.js +3 -0
  166. package/src/components/MenuItem/helpers/inject-helper-into-template.js +11 -0
  167. package/src/components/Modal/Modal.js +1 -1
  168. package/src/components/ModalAdapter/ModalAdapter.js +12 -0
  169. package/src/components/ModalAdapter/index.js +3 -0
  170. package/src/components/SearchFilter/SearchFilter/SearchFilter.js +16 -5
  171. package/src/components/SearchFilter/SearchFilterContainer.js +21 -22
  172. package/src/components/SearchFilter/components/Select.js +2 -0
  173. package/src/components/SearchFilter/helpers/build-list-name-query.js +18 -0
  174. package/src/components/SearchFilter/helpers/decode-encode.js +0 -1
  175. package/src/components/SearchFilter/helpers/index.js +2 -0
  176. package/src/components/Video/Video.js +1 -1
  177. package/src/components/Video/VideoContext.js +7 -0
  178. package/src/components/Video/VideoModal.js +1 -1
  179. package/src/components/Video/VideoRender.js +28 -3
  180. package/src/components/Video/constants.js +6 -0
  181. package/src/components/Video/helpers/emit-gtm-event.js +25 -0
  182. package/src/components/Video/providers/JWPlayer/JWPlayerController.js +21 -4
  183. package/src/components/Video/providers/JWPlayer/JWPlayerProvider.js +7 -5
  184. package/src/components/Video/providers/YouTube/YoutubeEmbeded.js +65 -2
  185. package/src/helpers/build-filters-query.js +1 -3
  186. package/src/{components/Card/helpers → helpers}/filter-query-setup.js +5 -3
  187. package/src/{components/Card/helpers → helpers}/filters-setup.js +5 -2
  188. package/src/helpers/index.js +6 -0
  189. package/src/{components/Card/helpers → helpers}/should-skip-single-query.js +1 -1
  190. package/src/hooks/index.js +2 -0
  191. package/src/hooks/use-filter-aggregation-values.js +37 -0
  192. package/src/hooks/use-portal.js +18 -0
  193. package/tests/unit/src/components/Card/Card.test.js +16 -1
  194. package/tests/unit/src/components/Card/__snapshots__/Card.test.js.snap +83 -0
  195. package/tests/unit/src/components/Card/helpers/get-updated-items-to-display.test.js +1 -1
  196. package/tests/unit/src/components/Image/Lightbox/Lightbox.test.js +4 -0
  197. package/tests/unit/src/components/Image/Lightbox/__snapshots__/Lightbox.test.js.snap +3 -38
  198. package/tests/unit/src/components/MenuItem/MenuEntitiesItem.test.js +23 -0
  199. package/tests/unit/src/components/MenuItem/MenuItem.test.js +30 -11
  200. package/tests/unit/src/components/MenuItem/MenuItemRender.test.js +55 -0
  201. package/tests/unit/src/components/MenuItem/__snapshots__/MenuEntitiesItem.test.js.snap +3 -0
  202. package/tests/unit/src/components/MenuItem/__snapshots__/MenuItem.test.js.snap +5 -51
  203. package/tests/unit/src/components/MenuItem/helpers/inject-helper-into-template.test.js +44 -0
  204. package/tests/unit/src/components/MenuItem/mocks.js +71 -0
  205. package/tests/unit/src/components/Modal/Modal.test.js +4 -0
  206. package/tests/unit/src/components/Modal/__snapshots__/Modal.test.js.snap +7 -42
  207. package/tests/unit/src/components/SearchFilter/__snapshots__/SearchFilterContainer.test.js.snap +7 -1
  208. package/lib/components/Card/helpers/filter-query-setup.js.map +0 -1
  209. package/lib/components/Card/helpers/filters-setup.js.map +0 -1
  210. package/lib/components/Card/helpers/get-updated-items-to-display.js.map +0 -1
  211. package/lib/components/Card/helpers/get-updated-sort-properties.js.map +0 -1
  212. package/lib/components/Card/helpers/should-return.js.map +0 -1
  213. package/lib/components/Card/helpers/should-skip-single-query.js.map +0 -1
  214. package/lib-es/components/Card/helpers/filter-query-setup.js.map +0 -1
  215. package/lib-es/components/Card/helpers/filters-setup.js.map +0 -1
  216. package/lib-es/components/Card/helpers/get-updated-items-to-display.js.map +0 -1
  217. package/lib-es/components/Card/helpers/get-updated-sort-properties.js.map +0 -1
  218. package/lib-es/components/Card/helpers/should-return.js.map +0 -1
  219. package/lib-es/components/Card/helpers/should-skip-single-query.js.map +0 -1
  220. /package/lib/{components/Card/helpers → helpers}/get-updated-items-to-display.js +0 -0
  221. /package/lib/{components/Card/helpers → helpers}/get-updated-sort-properties.js +0 -0
  222. /package/lib/{components/Card/helpers → helpers}/should-return.js +0 -0
  223. /package/lib-es/{components/Card/helpers → helpers}/get-updated-items-to-display.js +0 -0
  224. /package/lib-es/{components/Card/helpers → helpers}/get-updated-sort-properties.js +0 -0
  225. /package/lib-es/{components/Card/helpers → helpers}/should-return.js +0 -0
  226. /package/src/{components/Card/helpers → helpers}/get-updated-items-to-display.js +0 -0
  227. /package/src/{components/Card/helpers → helpers}/get-updated-sort-properties.js +0 -0
  228. /package/src/{components/Card/helpers → helpers}/should-return.js +0 -0
@@ -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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","ignoreList":[]}
@@ -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","ignoreList":[]}
@@ -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","ignoreList":[]}
@@ -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","ignoreList":[]}
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","ignoreList":[]}
@@ -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","ignoreList":[]}
@@ -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","ignoreList":[]}
@@ -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)
@@ -165,7 +174,7 @@ const SearchFilter = ({
165
174
  }, /*#__PURE__*/React.createElement("div", {
166
175
  role: "button",
167
176
  onClick: () => setDisplaySearchFilter(true)
168
- }, REFINE)));
177
+ }, mobileRefineButtonText || REFINE)));
169
178
  };
170
179
  SearchFilter.propTypes = {
171
180
  data: PropTypes.object.isRequired,
@@ -183,9 +192,11 @@ SearchFilter.propTypes = {
183
192
  filterValues: PropTypes.object.isRequired,
184
193
  setAppliedFilters: PropTypes.func.isRequired,
185
194
  listComponentName: PropTypes.string,
186
- query: PropTypes.object
195
+ query: PropTypes.object,
196
+ mobileRefineButtonText: PropTypes.string
187
197
  };
188
198
  SearchFilter.defaultProps = {
199
+ mobileRefineButtonText: '',
189
200
  listComponentName: '',
190
201
  query: {}
191
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 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 {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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","ignoreList":[]}
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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","ignoreList":[]}
@@ -7,25 +7,12 @@ import { parseUrl } from 'query-string';
7
7
  import SearchFilter from './SearchFilter';
8
8
  import { withTitle } from '../../HOC';
9
9
  import { getSearchPublishedContent, generateSingleItemQuery } from '../../application/query';
10
- import { buildNewUrl, getFilterValues, getFilterRangesAndCheckboxesValues, getUpdatedFilterBy } from './helpers';
10
+ import { buildNewUrl, getFilterValues, getFilterRangesAndCheckboxesValues, getUpdatedFilterBy, buildListNameQuery } from './helpers';
11
11
  import { getEntityData, getInheritedFilters, getQueryProps, buildRawQueryStringified, buildFiltersQuery } from '../../helpers';
12
12
  import { RAW_RESULTS } from './constants';
13
13
  import { SCROLL_OFFSET } from '../../constants';
14
14
  import searchFilterReducer from './searchFilterReducer';
15
15
  import { useGetEntitySchemasAsObj } from '../../hooks';
16
- const getFiltersUrlQuery = (query, listName) => {
17
- if (!listName) return query;
18
- const updatedQuery = {};
19
- const listKey = `pb[${listName}]`;
20
- Object.keys(query).forEach(queryKey => {
21
- const isListKey = queryKey.indexOf(`${listName}`) !== -1;
22
- if (!isListKey) return;
23
- const decodedQueryValue = Array.isArray(query[queryKey]) ? query[queryKey].map(value => decodeURIComponent(value)) : decodeURIComponent(query[queryKey]);
24
- const strippedKey = queryKey.substring(listKey.length + 1, queryKey.length - 1);
25
- if (isListKey) updatedQuery[strippedKey] = decodedQueryValue;
26
- });
27
- return updatedQuery;
28
- };
29
16
  const SearchFilterContainer = ({
30
17
  entity,
31
18
  url,
@@ -38,7 +25,8 @@ const SearchFilterContainer = ({
38
25
  filterByProperty,
39
26
  shouldAddFilters,
40
27
  listComponentName,
41
- parent
28
+ parent,
29
+ mobileRefineButtonText
42
30
  }) => {
43
31
  const {
44
32
  isPreview
@@ -56,14 +44,26 @@ const SearchFilterContainer = ({
56
44
  url: currentUrl,
57
45
  query
58
46
  } = parseUrl(urlPath);
59
- const updatedQuery = getFiltersUrlQuery(query, listComponentName);
47
+ const updatedQuery = buildListNameQuery(query, listComponentName);
60
48
  const {
61
49
  itemId: parentId,
62
50
  itemEntity: parentEntity
63
51
  } = parent;
64
52
  useEffect(() => {
65
- if (asPath) setUrlPath(asPath);
66
- }, [asPath]);
53
+ const {
54
+ query: newQuery
55
+ } = parseUrl(asPath);
56
+ const updatedNewQuery = buildListNameQuery(newQuery, listComponentName);
57
+ const newValues = getFilterValues({}, filters, updatedNewQuery);
58
+ if (newValues) dispatch({
59
+ newValues,
60
+ shouldSearch: false,
61
+ type: 'update'
62
+ });
63
+ setUrlPath(asPath);
64
+ },
65
+ // eslint-disable-next-line react-hooks/exhaustive-deps
66
+ [asPath]);
67
67
  const {
68
68
  data: mainSchemas = {},
69
69
  loading: schemasLoading
@@ -189,10 +189,12 @@ const SearchFilterContainer = ({
189
189
  displaySearchFilter: displaySearchFilter,
190
190
  setDisplaySearchFilter: setDisplaySearchFilter,
191
191
  groupAfterMobile: groupAfterMobile,
192
- groupAfterDesktop: groupAfterDesktop
192
+ groupAfterDesktop: groupAfterDesktop,
193
+ mobileRefineButtonText: mobileRefineButtonText
193
194
  });
194
195
  };
195
196
  SearchFilterContainer.propTypes = {
197
+ mobileRefineButtonText: PropTypes.string,
196
198
  entity: PropTypes.string,
197
199
  url: PropTypes.string,
198
200
  filters: PropTypes.array,
@@ -217,7 +219,8 @@ SearchFilterContainer.defaultProps = {
217
219
  filterByProperty: [],
218
220
  shouldAddFilters: false,
219
221
  listComponentName: '',
220
- parent: {}
222
+ parent: {},
223
+ mobileRefineButtonText: ''
221
224
  };
222
225
  export default withTitle(SearchFilterContainer);
223
226
  //# sourceMappingURL=SearchFilterContainer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SearchFilterContainer.js","names":["React","useState","useEffect","useRef","useReducer","useContext","MainContext","useRouter","useQuery","PropTypes","parseUrl","SearchFilter","withTitle","getSearchPublishedContent","generateSingleItemQuery","buildNewUrl","getFilterValues","getFilterRangesAndCheckboxesValues","getUpdatedFilterBy","getEntityData","getInheritedFilters","getQueryProps","buildRawQueryStringified","buildFiltersQuery","RAW_RESULTS","SCROLL_OFFSET","searchFilterReducer","useGetEntitySchemasAsObj","getFiltersUrlQuery","query","listName","updatedQuery","listKey","Object","keys","forEach","queryKey","isListKey","indexOf","decodedQueryValue","Array","isArray","map","value","decodeURIComponent","strippedKey","substring","length","SearchFilterContainer","entity","url","filters","name","isCollapsedOnResponsive","groupAfterMobile","groupAfterDesktop","filterBy","filterByProperty","shouldAddFilters","listComponentName","parent","isPreview","router","asPath","searchFilterRef","key","setKey","displaySearchFilter","setDisplaySearchFilter","urlPath","setUrlPath","filterValues","dispatch","currentUrl","itemId","parentId","itemEntity","parentEntity","data","mainSchemas","loading","schemasLoading","parentSchema","filterEntitySchema","actions","getAction","get","getPublished","inheritedFilters","queryProps","entityData","parentData","parentQueryLoading","variables","id","skip","updatedFilterBy","updatedFilterByProperty","action","checkboxSelectValues","rangeValues","docType","filtersQuery","queryKeys","rawQueryStringified","error","limit","message","searchPublishedContent","rawResults","aggregations","filterData","newValues","shouldSearch","type","handleSearch","newQuery","hashBit","split","parsedHashBit","scrollToFirstList","baseQuery","push","shallow","scroll","then","Date","now","newUrl","list","document","getElementsByClassName","shouldScrollToFirstList","window","scrollTo","left","top","pageYOffset","getBoundingClientRect","createElement","setAppliedFilters","hasUrl","propTypes","string","array","isRequired","bool","number","object","defaultProps"],"sources":["../../../src/components/SearchFilter/SearchFilterContainer.js"],"sourcesContent":["import React, { useState, useEffect, useRef, useReducer, useContext } from 'react';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { useRouter } from 'next/router';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { parseUrl } from 'query-string';\nimport SearchFilter from './SearchFilter';\nimport { withTitle } from '../../HOC';\nimport { getSearchPublishedContent, generateSingleItemQuery } from '../../application/query';\nimport {\n buildNewUrl,\n getFilterValues,\n getFilterRangesAndCheckboxesValues,\n getUpdatedFilterBy\n} from './helpers';\nimport {\n getEntityData,\n getInheritedFilters,\n getQueryProps,\n buildRawQueryStringified,\n buildFiltersQuery\n} from '../../helpers';\nimport { RAW_RESULTS } from './constants';\nimport { SCROLL_OFFSET } from '../../constants';\nimport searchFilterReducer from './searchFilterReducer';\nimport { useGetEntitySchemasAsObj } from '../../hooks';\n\nconst getFiltersUrlQuery = (query, listName) => {\n if (!listName) return query;\n const updatedQuery = {};\n const listKey = `pb[${listName}]`;\n Object.keys(query).forEach(queryKey => {\n const isListKey = queryKey.indexOf(`${listName}`) !== -1;\n if (!isListKey) return;\n const decodedQueryValue = Array.isArray(query[queryKey])\n ? query[queryKey].map(value => decodeURIComponent(value))\n : decodeURIComponent(query[queryKey]);\n const strippedKey = queryKey.substring(listKey.length + 1, queryKey.length - 1);\n if (isListKey) updatedQuery[strippedKey] = decodedQueryValue;\n });\n\n return updatedQuery;\n};\n\nconst SearchFilterContainer = ({\n entity,\n url,\n filters,\n name,\n isCollapsedOnResponsive,\n groupAfterMobile,\n groupAfterDesktop,\n filterBy,\n filterByProperty,\n shouldAddFilters,\n listComponentName,\n parent\n}) => {\n const { isPreview } = useContext(MainContext);\n const router = useRouter();\n const { asPath } = router;\n const searchFilterRef = useRef(null);\n const [key, setKey] = useState(`filter-${name}`);\n const [displaySearchFilter, setDisplaySearchFilter] = useState(false);\n const [urlPath, setUrlPath] = useState(asPath); // used as asPath can take too long to update\n const [filterValues, dispatch] = useReducer(searchFilterReducer, null);\n const { url: currentUrl, query } = parseUrl(urlPath);\n const updatedQuery = getFiltersUrlQuery(query, listComponentName);\n const { itemId: parentId, itemEntity: parentEntity } = parent;\n\n useEffect(\n () => {\n if (asPath) setUrlPath(asPath);\n },\n [asPath]\n );\n const { data: mainSchemas = {}, loading: schemasLoading } = useGetEntitySchemasAsObj([\n parentEntity,\n entity\n ]);\n const { [parentEntity]: parentSchema = {}, [entity]: filterEntitySchema = {} } = mainSchemas;\n const { actions = {} } = parentSchema || {};\n const getAction = isPreview ? actions.get : actions.getPublished;\n const inheritedFilters = getInheritedFilters(filterBy, filterByProperty);\n const queryProps = getQueryProps(inheritedFilters, parentSchema, filterEntitySchema);\n const { data: { entityData: parentData } = {}, loading: parentQueryLoading } = useQuery(\n generateSingleItemQuery(getAction, queryProps),\n {\n variables: { id: parentId },\n skip: schemasLoading || !inheritedFilters.length\n }\n );\n const { updatedFilterBy, updatedFilterByProperty } = getUpdatedFilterBy(\n filterBy,\n filterByProperty,\n parentData\n );\n\n const action = getSearchPublishedContent(RAW_RESULTS);\n const [checkboxSelectValues, rangeValues] = getFilterRangesAndCheckboxesValues(filters);\n\n const { docType } = getEntityData(entity);\n\n const filtersQuery = buildFiltersQuery({\n shouldAddFilters,\n query: filterValues,\n filterBy: updatedFilterBy,\n filterByProperty: updatedFilterByProperty,\n rangeValues,\n queryKeys: Object.keys(updatedQuery)\n });\n\n const rawQueryStringified = buildRawQueryStringified(\n checkboxSelectValues,\n rangeValues,\n docType,\n filtersQuery\n );\n\n const { data, error, loading } = useQuery(action, {\n variables: { rawQueryStringified, limit: 0 }, // we only want aggs so limit=0 for no search results\n skip: !rawQueryStringified || parentQueryLoading\n });\n\n if (error) return error.message;\n if (!filters.length) return null;\n\n const { searchPublishedContent: { rawResults: { aggregations: filterData } = {} } = {} } =\n data || {};\n\n if (!filterValues && !loading && !parentQueryLoading && (filterData || !rawQueryStringified)) {\n const newValues = getFilterValues(filterData, filters, updatedQuery);\n dispatch({ newValues, shouldSearch: false, type: 'update' });\n return null;\n }\n\n const handleSearch = newQuery => {\n setDisplaySearchFilter(false);\n const hashBit = asPath.split('#')[1] || '';\n const parsedHashBit = hashBit ? `#${hashBit}` : '';\n scrollToFirstList();\n if (!newQuery) {\n const baseQuery = `${currentUrl}${parsedHashBit}`;\n setUrlPath(baseQuery);\n return router.push('/Resolver', baseQuery, { shallow: !url, scroll: false }).then(() => {\n setKey(`filter-${name}:${Date.now()}`); // remove after range component update\n });\n }\n const newUrl = buildNewUrl(url, currentUrl, newQuery, hashBit);\n setUrlPath(newUrl);\n return router.push('/Resolver', newUrl, { shallow: !url, scroll: false });\n };\n\n const scrollToFirstList = () => {\n const [list] = document.getElementsByClassName('list-top');\n const shouldScrollToFirstList = !url && list;\n\n if (shouldScrollToFirstList) {\n window.scrollTo({\n left: 0,\n top: window.pageYOffset - SCROLL_OFFSET + list.getBoundingClientRect().top\n });\n } else {\n window.scrollTo(0, 0);\n }\n };\n\n if (!filterValues) return null;\n\n return (\n <SearchFilter\n key={key}\n setAppliedFilters={dispatch}\n query={updatedQuery}\n listComponentName={listComponentName}\n searchFilterRef={searchFilterRef}\n data={filterData}\n filters={filters}\n hasUrl={!!url}\n entity={entity}\n handleSearch={handleSearch}\n filterValues={filterValues}\n name={name}\n isCollapsedOnResponsive={isCollapsedOnResponsive}\n displaySearchFilter={displaySearchFilter}\n setDisplaySearchFilter={setDisplaySearchFilter}\n groupAfterMobile={groupAfterMobile}\n groupAfterDesktop={groupAfterDesktop}\n />\n );\n};\n\nSearchFilterContainer.propTypes = {\n entity: PropTypes.string,\n url: PropTypes.string,\n filters: PropTypes.array,\n name: PropTypes.string.isRequired,\n isCollapsedOnResponsive: PropTypes.bool,\n groupAfterMobile: PropTypes.number,\n groupAfterDesktop: PropTypes.number,\n filterBy: PropTypes.array,\n filterByProperty: PropTypes.array,\n shouldAddFilters: PropTypes.bool,\n listComponentName: PropTypes.string,\n parent: PropTypes.object\n};\n\nSearchFilterContainer.defaultProps = {\n url: null,\n filters: [],\n entity: '',\n isCollapsedOnResponsive: true,\n groupAfterMobile: 0,\n groupAfterDesktop: 0,\n filterBy: [],\n filterByProperty: [],\n shouldAddFilters: false,\n listComponentName: '',\n parent: {}\n};\n\nexport default withTitle(SearchFilterContainer);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SearchFilterContainer.js","names":["React","useState","useEffect","useRef","useReducer","useContext","MainContext","useRouter","useQuery","PropTypes","parseUrl","SearchFilter","withTitle","getSearchPublishedContent","generateSingleItemQuery","buildNewUrl","getFilterValues","getFilterRangesAndCheckboxesValues","getUpdatedFilterBy","buildListNameQuery","getEntityData","getInheritedFilters","getQueryProps","buildRawQueryStringified","buildFiltersQuery","RAW_RESULTS","SCROLL_OFFSET","searchFilterReducer","useGetEntitySchemasAsObj","SearchFilterContainer","entity","url","filters","name","isCollapsedOnResponsive","groupAfterMobile","groupAfterDesktop","filterBy","filterByProperty","shouldAddFilters","listComponentName","parent","mobileRefineButtonText","isPreview","router","asPath","searchFilterRef","key","setKey","displaySearchFilter","setDisplaySearchFilter","urlPath","setUrlPath","filterValues","dispatch","currentUrl","query","updatedQuery","itemId","parentId","itemEntity","parentEntity","newQuery","updatedNewQuery","newValues","shouldSearch","type","data","mainSchemas","loading","schemasLoading","parentSchema","filterEntitySchema","actions","getAction","get","getPublished","inheritedFilters","queryProps","entityData","parentData","parentQueryLoading","variables","id","skip","length","updatedFilterBy","updatedFilterByProperty","action","checkboxSelectValues","rangeValues","docType","filtersQuery","queryKeys","Object","keys","rawQueryStringified","error","limit","message","searchPublishedContent","rawResults","aggregations","filterData","handleSearch","hashBit","split","parsedHashBit","scrollToFirstList","baseQuery","push","shallow","scroll","then","Date","now","newUrl","list","document","getElementsByClassName","shouldScrollToFirstList","window","scrollTo","left","top","pageYOffset","getBoundingClientRect","createElement","setAppliedFilters","hasUrl","propTypes","string","array","isRequired","bool","number","object","defaultProps"],"sources":["../../../src/components/SearchFilter/SearchFilterContainer.js"],"sourcesContent":["import React, { useState, useEffect, useRef, useReducer, useContext } from 'react';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { useRouter } from 'next/router';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { parseUrl } from 'query-string';\nimport SearchFilter from './SearchFilter';\nimport { withTitle } from '../../HOC';\nimport { getSearchPublishedContent, generateSingleItemQuery } from '../../application/query';\nimport {\n buildNewUrl,\n getFilterValues,\n getFilterRangesAndCheckboxesValues,\n getUpdatedFilterBy,\n buildListNameQuery\n} from './helpers';\nimport {\n getEntityData,\n getInheritedFilters,\n getQueryProps,\n buildRawQueryStringified,\n buildFiltersQuery\n} from '../../helpers';\nimport { RAW_RESULTS } from './constants';\nimport { SCROLL_OFFSET } from '../../constants';\nimport searchFilterReducer from './searchFilterReducer';\nimport { useGetEntitySchemasAsObj } from '../../hooks';\n\nconst SearchFilterContainer = ({\n entity,\n url,\n filters,\n name,\n isCollapsedOnResponsive,\n groupAfterMobile,\n groupAfterDesktop,\n filterBy,\n filterByProperty,\n shouldAddFilters,\n listComponentName,\n parent,\n mobileRefineButtonText\n}) => {\n const { isPreview } = useContext(MainContext);\n const router = useRouter();\n const { asPath } = router;\n const searchFilterRef = useRef(null);\n const [key, setKey] = useState(`filter-${name}`);\n const [displaySearchFilter, setDisplaySearchFilter] = useState(false);\n const [urlPath, setUrlPath] = useState(asPath); // used as asPath can take too long to update\n const [filterValues, dispatch] = useReducer(searchFilterReducer, null);\n const { url: currentUrl, query } = parseUrl(urlPath);\n const updatedQuery = buildListNameQuery(query, listComponentName);\n const { itemId: parentId, itemEntity: parentEntity } = parent;\n\n useEffect(\n () => {\n const { query: newQuery } = parseUrl(asPath);\n const updatedNewQuery = buildListNameQuery(newQuery, listComponentName);\n const newValues = getFilterValues({}, filters, updatedNewQuery);\n if (newValues)\n dispatch({\n newValues,\n shouldSearch: false,\n type: 'update'\n });\n setUrlPath(asPath);\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [asPath]\n );\n\n const { data: mainSchemas = {}, loading: schemasLoading } = useGetEntitySchemasAsObj([\n parentEntity,\n entity\n ]);\n const { [parentEntity]: parentSchema = {}, [entity]: filterEntitySchema = {} } = mainSchemas;\n const { actions = {} } = parentSchema || {};\n const getAction = isPreview ? actions.get : actions.getPublished;\n const inheritedFilters = getInheritedFilters(filterBy, filterByProperty);\n const queryProps = getQueryProps(inheritedFilters, parentSchema, filterEntitySchema);\n const { data: { entityData: parentData } = {}, loading: parentQueryLoading } = useQuery(\n generateSingleItemQuery(getAction, queryProps),\n {\n variables: { id: parentId },\n skip: schemasLoading || !inheritedFilters.length\n }\n );\n const { updatedFilterBy, updatedFilterByProperty } = getUpdatedFilterBy(\n filterBy,\n filterByProperty,\n parentData\n );\n\n const action = getSearchPublishedContent(RAW_RESULTS);\n const [checkboxSelectValues, rangeValues] = getFilterRangesAndCheckboxesValues(filters);\n\n const { docType } = getEntityData(entity);\n\n const filtersQuery = buildFiltersQuery({\n shouldAddFilters,\n query: filterValues,\n filterBy: updatedFilterBy,\n filterByProperty: updatedFilterByProperty,\n rangeValues,\n queryKeys: Object.keys(updatedQuery)\n });\n\n const rawQueryStringified = buildRawQueryStringified(\n checkboxSelectValues,\n rangeValues,\n docType,\n filtersQuery\n );\n\n const { data, error, loading } = useQuery(action, {\n variables: { rawQueryStringified, limit: 0 }, // we only want aggs so limit=0 for no search results\n skip: !rawQueryStringified || parentQueryLoading\n });\n\n if (error) return error.message;\n if (!filters.length) return null;\n\n const { searchPublishedContent: { rawResults: { aggregations: filterData } = {} } = {} } =\n data || {};\n\n if (!filterValues && !loading && !parentQueryLoading && (filterData || !rawQueryStringified)) {\n const newValues = getFilterValues(filterData, filters, updatedQuery);\n dispatch({ newValues, shouldSearch: false, type: 'update' });\n return null;\n }\n\n const handleSearch = newQuery => {\n setDisplaySearchFilter(false);\n const hashBit = asPath.split('#')[1] || '';\n const parsedHashBit = hashBit ? `#${hashBit}` : '';\n scrollToFirstList();\n if (!newQuery) {\n const baseQuery = `${currentUrl}${parsedHashBit}`;\n setUrlPath(baseQuery);\n return router.push('/Resolver', baseQuery, { shallow: !url, scroll: false }).then(() => {\n setKey(`filter-${name}:${Date.now()}`); // remove after range component update\n });\n }\n const newUrl = buildNewUrl(url, currentUrl, newQuery, hashBit);\n setUrlPath(newUrl);\n return router.push('/Resolver', newUrl, { shallow: !url, scroll: false });\n };\n\n const scrollToFirstList = () => {\n const [list] = document.getElementsByClassName('list-top');\n const shouldScrollToFirstList = !url && list;\n\n if (shouldScrollToFirstList) {\n window.scrollTo({\n left: 0,\n top: window.pageYOffset - SCROLL_OFFSET + list.getBoundingClientRect().top\n });\n } else {\n window.scrollTo(0, 0);\n }\n };\n\n if (!filterValues) return null;\n\n return (\n <SearchFilter\n key={key}\n setAppliedFilters={dispatch}\n query={updatedQuery}\n listComponentName={listComponentName}\n searchFilterRef={searchFilterRef}\n data={filterData}\n filters={filters}\n hasUrl={!!url}\n entity={entity}\n handleSearch={handleSearch}\n filterValues={filterValues}\n name={name}\n isCollapsedOnResponsive={isCollapsedOnResponsive}\n displaySearchFilter={displaySearchFilter}\n setDisplaySearchFilter={setDisplaySearchFilter}\n groupAfterMobile={groupAfterMobile}\n groupAfterDesktop={groupAfterDesktop}\n mobileRefineButtonText={mobileRefineButtonText}\n />\n );\n};\n\nSearchFilterContainer.propTypes = {\n mobileRefineButtonText: PropTypes.string,\n entity: PropTypes.string,\n url: PropTypes.string,\n filters: PropTypes.array,\n name: PropTypes.string.isRequired,\n isCollapsedOnResponsive: PropTypes.bool,\n groupAfterMobile: PropTypes.number,\n groupAfterDesktop: PropTypes.number,\n filterBy: PropTypes.array,\n filterByProperty: PropTypes.array,\n shouldAddFilters: PropTypes.bool,\n listComponentName: PropTypes.string,\n parent: PropTypes.object\n};\n\nSearchFilterContainer.defaultProps = {\n url: null,\n filters: [],\n entity: '',\n isCollapsedOnResponsive: true,\n groupAfterMobile: 0,\n groupAfterDesktop: 0,\n filterBy: [],\n filterByProperty: [],\n shouldAddFilters: false,\n listComponentName: '',\n parent: {},\n mobileRefineButtonText: ''\n};\n\nexport default withTitle(SearchFilterContainer);\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,SAAS,EAAEC,MAAM,EAAEC,UAAU,EAAEC,UAAU,QAAQ,OAAO;AAClF,SAASC,WAAW,QAAQ,8BAA8B;AAC1D,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,QAAQ,QAAQ,gBAAgB;AACzC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,QAAQ,QAAQ,cAAc;AACvC,OAAOC,YAAY,MAAM,gBAAgB;AACzC,SAASC,SAAS,QAAQ,WAAW;AACrC,SAASC,yBAAyB,EAAEC,uBAAuB,QAAQ,yBAAyB;AAC5F,SACEC,WAAW,EACXC,eAAe,EACfC,kCAAkC,EAClCC,kBAAkB,EAClBC,kBAAkB,QACb,WAAW;AAClB,SACEC,aAAa,EACbC,mBAAmB,EACnBC,aAAa,EACbC,wBAAwB,EACxBC,iBAAiB,QACZ,eAAe;AACtB,SAASC,WAAW,QAAQ,aAAa;AACzC,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,OAAOC,mBAAmB,MAAM,uBAAuB;AACvD,SAASC,wBAAwB,QAAQ,aAAa;AAEtD,MAAMC,qBAAqB,GAAGA,CAAC;EAC7BC,MAAM;EACNC,GAAG;EACHC,OAAO;EACPC,IAAI;EACJC,uBAAuB;EACvBC,gBAAgB;EAChBC,iBAAiB;EACjBC,QAAQ;EACRC,gBAAgB;EAChBC,gBAAgB;EAChBC,iBAAiB;EACjBC,MAAM;EACNC;AACF,CAAC,KAAK;EACJ,MAAM;IAAEC;EAAU,CAAC,GAAGtC,UAAU,CAACC,WAAW,CAAC;EAC7C,MAAMsC,MAAM,GAAGrC,SAAS,CAAC,CAAC;EAC1B,MAAM;IAAEsC;EAAO,CAAC,GAAGD,MAAM;EACzB,MAAME,eAAe,GAAG3C,MAAM,CAAC,IAAI,CAAC;EACpC,MAAM,CAAC4C,GAAG,EAAEC,MAAM,CAAC,GAAG/C,QAAQ,CAAE,UAASgC,IAAK,EAAC,CAAC;EAChD,MAAM,CAACgB,mBAAmB,EAAEC,sBAAsB,CAAC,GAAGjD,QAAQ,CAAC,KAAK,CAAC;EACrE,MAAM,CAACkD,OAAO,EAAEC,UAAU,CAAC,GAAGnD,QAAQ,CAAC4C,MAAM,CAAC,CAAC,CAAC;EAChD,MAAM,CAACQ,YAAY,EAAEC,QAAQ,CAAC,GAAGlD,UAAU,CAACuB,mBAAmB,EAAE,IAAI,CAAC;EACtE,MAAM;IAAEI,GAAG,EAAEwB,UAAU;IAAEC;EAAM,CAAC,GAAG9C,QAAQ,CAACyC,OAAO,CAAC;EACpD,MAAMM,YAAY,GAAGtC,kBAAkB,CAACqC,KAAK,EAAEhB,iBAAiB,CAAC;EACjE,MAAM;IAAEkB,MAAM,EAAEC,QAAQ;IAAEC,UAAU,EAAEC;EAAa,CAAC,GAAGpB,MAAM;EAE7DvC,SAAS,CACP,MAAM;IACJ,MAAM;MAAEsD,KAAK,EAAEM;IAAS,CAAC,GAAGpD,QAAQ,CAACmC,MAAM,CAAC;IAC5C,MAAMkB,eAAe,GAAG5C,kBAAkB,CAAC2C,QAAQ,EAAEtB,iBAAiB,CAAC;IACvE,MAAMwB,SAAS,GAAGhD,eAAe,CAAC,CAAC,CAAC,EAAEgB,OAAO,EAAE+B,eAAe,CAAC;IAC/D,IAAIC,SAAS,EACXV,QAAQ,CAAC;MACPU,SAAS;MACTC,YAAY,EAAE,KAAK;MACnBC,IAAI,EAAE;IACR,CAAC,CAAC;IACJd,UAAU,CAACP,MAAM,CAAC;EACpB,CAAC;EACD;EACA,CAACA,MAAM,CACT,CAAC;EAED,MAAM;IAAEsB,IAAI,EAAEC,WAAW,GAAG,CAAC,CAAC;IAAEC,OAAO,EAAEC;EAAe,CAAC,GAAG1C,wBAAwB,CAAC,CACnFiC,YAAY,EACZ/B,MAAM,CACP,CAAC;EACF,MAAM;IAAE,CAAC+B,YAAY,GAAGU,YAAY,GAAG,CAAC,CAAC;IAAE,CAACzC,MAAM,GAAG0C,kBAAkB,GAAG,CAAC;EAAE,CAAC,GAAGJ,WAAW;EAC5F,MAAM;IAAEK,OAAO,GAAG,CAAC;EAAE,CAAC,GAAGF,YAAY,IAAI,CAAC,CAAC;EAC3C,MAAMG,SAAS,GAAG/B,SAAS,GAAG8B,OAAO,CAACE,GAAG,GAAGF,OAAO,CAACG,YAAY;EAChE,MAAMC,gBAAgB,GAAGxD,mBAAmB,CAACgB,QAAQ,EAAEC,gBAAgB,CAAC;EACxE,MAAMwC,UAAU,GAAGxD,aAAa,CAACuD,gBAAgB,EAAEN,YAAY,EAAEC,kBAAkB,CAAC;EACpF,MAAM;IAAEL,IAAI,EAAE;MAAEY,UAAU,EAAEC;IAAW,CAAC,GAAG,CAAC,CAAC;IAAEX,OAAO,EAAEY;EAAmB,CAAC,GAAGzE,QAAQ,CACrFM,uBAAuB,CAAC4D,SAAS,EAAEI,UAAU,CAAC,EAC9C;IACEI,SAAS,EAAE;MAAEC,EAAE,EAAExB;IAAS,CAAC;IAC3ByB,IAAI,EAAEd,cAAc,IAAI,CAACO,gBAAgB,CAACQ;EAC5C,CACF,CAAC;EACD,MAAM;IAAEC,eAAe;IAAEC;EAAwB,CAAC,GAAGrE,kBAAkB,CACrEmB,QAAQ,EACRC,gBAAgB,EAChB0C,UACF,CAAC;EAED,MAAMQ,MAAM,GAAG3E,yBAAyB,CAACY,WAAW,CAAC;EACrD,MAAM,CAACgE,oBAAoB,EAAEC,WAAW,CAAC,GAAGzE,kCAAkC,CAACe,OAAO,CAAC;EAEvF,MAAM;IAAE2D;EAAQ,CAAC,GAAGvE,aAAa,CAACU,MAAM,CAAC;EAEzC,MAAM8D,YAAY,GAAGpE,iBAAiB,CAAC;IACrCe,gBAAgB;IAChBiB,KAAK,EAAEH,YAAY;IACnBhB,QAAQ,EAAEiD,eAAe;IACzBhD,gBAAgB,EAAEiD,uBAAuB;IACzCG,WAAW;IACXG,SAAS,EAAEC,MAAM,CAACC,IAAI,CAACtC,YAAY;EACrC,CAAC,CAAC;EAEF,MAAMuC,mBAAmB,GAAGzE,wBAAwB,CAClDkE,oBAAoB,EACpBC,WAAW,EACXC,OAAO,EACPC,YACF,CAAC;EAED,MAAM;IAAEzB,IAAI;IAAE8B,KAAK;IAAE5B;EAAQ,CAAC,GAAG7D,QAAQ,CAACgF,MAAM,EAAE;IAChDN,SAAS,EAAE;MAAEc,mBAAmB;MAAEE,KAAK,EAAE;IAAE,CAAC;IAAE;IAC9Cd,IAAI,EAAE,CAACY,mBAAmB,IAAIf;EAChC,CAAC,CAAC;EAEF,IAAIgB,KAAK,EAAE,OAAOA,KAAK,CAACE,OAAO;EAC/B,IAAI,CAACnE,OAAO,CAACqD,MAAM,EAAE,OAAO,IAAI;EAEhC,MAAM;IAAEe,sBAAsB,EAAE;MAAEC,UAAU,EAAE;QAAEC,YAAY,EAAEC;MAAW,CAAC,GAAG,CAAC;IAAE,CAAC,GAAG,CAAC;EAAE,CAAC,GACtFpC,IAAI,IAAI,CAAC,CAAC;EAEZ,IAAI,CAACd,YAAY,IAAI,CAACgB,OAAO,IAAI,CAACY,kBAAkB,KAAKsB,UAAU,IAAI,CAACP,mBAAmB,CAAC,EAAE;IAC5F,MAAMhC,SAAS,GAAGhD,eAAe,CAACuF,UAAU,EAAEvE,OAAO,EAAEyB,YAAY,CAAC;IACpEH,QAAQ,CAAC;MAAEU,SAAS;MAAEC,YAAY,EAAE,KAAK;MAAEC,IAAI,EAAE;IAAS,CAAC,CAAC;IAC5D,OAAO,IAAI;EACb;EAEA,MAAMsC,YAAY,GAAG1C,QAAQ,IAAI;IAC/BZ,sBAAsB,CAAC,KAAK,CAAC;IAC7B,MAAMuD,OAAO,GAAG5D,MAAM,CAAC6D,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;IAC1C,MAAMC,aAAa,GAAGF,OAAO,GAAI,IAAGA,OAAQ,EAAC,GAAG,EAAE;IAClDG,iBAAiB,CAAC,CAAC;IACnB,IAAI,CAAC9C,QAAQ,EAAE;MACb,MAAM+C,SAAS,GAAI,GAAEtD,UAAW,GAAEoD,aAAc,EAAC;MACjDvD,UAAU,CAACyD,SAAS,CAAC;MACrB,OAAOjE,MAAM,CAACkE,IAAI,CAAC,WAAW,EAAED,SAAS,EAAE;QAAEE,OAAO,EAAE,CAAChF,GAAG;QAAEiF,MAAM,EAAE;MAAM,CAAC,CAAC,CAACC,IAAI,CAAC,MAAM;QACtFjE,MAAM,CAAE,UAASf,IAAK,IAAGiF,IAAI,CAACC,GAAG,CAAC,CAAE,EAAC,CAAC,CAAC,CAAC;MAC1C,CAAC,CAAC;IACJ;IACA,MAAMC,MAAM,GAAGrG,WAAW,CAACgB,GAAG,EAAEwB,UAAU,EAAEO,QAAQ,EAAE2C,OAAO,CAAC;IAC9DrD,UAAU,CAACgE,MAAM,CAAC;IAClB,OAAOxE,MAAM,CAACkE,IAAI,CAAC,WAAW,EAAEM,MAAM,EAAE;MAAEL,OAAO,EAAE,CAAChF,GAAG;MAAEiF,MAAM,EAAE;IAAM,CAAC,CAAC;EAC3E,CAAC;EAED,MAAMJ,iBAAiB,GAAGA,CAAA,KAAM;IAC9B,MAAM,CAACS,IAAI,CAAC,GAAGC,QAAQ,CAACC,sBAAsB,CAAC,UAAU,CAAC;IAC1D,MAAMC,uBAAuB,GAAG,CAACzF,GAAG,IAAIsF,IAAI;IAE5C,IAAIG,uBAAuB,EAAE;MAC3BC,MAAM,CAACC,QAAQ,CAAC;QACdC,IAAI,EAAE,CAAC;QACPC,GAAG,EAAEH,MAAM,CAACI,WAAW,GAAGnG,aAAa,GAAG2F,IAAI,CAACS,qBAAqB,CAAC,CAAC,CAACF;MACzE,CAAC,CAAC;IACJ,CAAC,MAAM;MACLH,MAAM,CAACC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IACvB;EACF,CAAC;EAED,IAAI,CAACrE,YAAY,EAAE,OAAO,IAAI;EAE9B,oBACErD,KAAA,CAAA+H,aAAA,CAACpH,YAAY;IACXoC,GAAG,EAAEA,GAAI;IACTiF,iBAAiB,EAAE1E,QAAS;IAC5BE,KAAK,EAAEC,YAAa;IACpBjB,iBAAiB,EAAEA,iBAAkB;IACrCM,eAAe,EAAEA,eAAgB;IACjCqB,IAAI,EAAEoC,UAAW;IACjBvE,OAAO,EAAEA,OAAQ;IACjBiG,MAAM,EAAE,CAAC,CAAClG,GAAI;IACdD,MAAM,EAAEA,MAAO;IACf0E,YAAY,EAAEA,YAAa;IAC3BnD,YAAY,EAAEA,YAAa;IAC3BpB,IAAI,EAAEA,IAAK;IACXC,uBAAuB,EAAEA,uBAAwB;IACjDe,mBAAmB,EAAEA,mBAAoB;IACzCC,sBAAsB,EAAEA,sBAAuB;IAC/Cf,gBAAgB,EAAEA,gBAAiB;IACnCC,iBAAiB,EAAEA,iBAAkB;IACrCM,sBAAsB,EAAEA;EAAuB,CAChD,CAAC;AAEN,CAAC;AAEDb,qBAAqB,CAACqG,SAAS,GAAG;EAChCxF,sBAAsB,EAAEjC,SAAS,CAAC0H,MAAM;EACxCrG,MAAM,EAAErB,SAAS,CAAC0H,MAAM;EACxBpG,GAAG,EAAEtB,SAAS,CAAC0H,MAAM;EACrBnG,OAAO,EAAEvB,SAAS,CAAC2H,KAAK;EACxBnG,IAAI,EAAExB,SAAS,CAAC0H,MAAM,CAACE,UAAU;EACjCnG,uBAAuB,EAAEzB,SAAS,CAAC6H,IAAI;EACvCnG,gBAAgB,EAAE1B,SAAS,CAAC8H,MAAM;EAClCnG,iBAAiB,EAAE3B,SAAS,CAAC8H,MAAM;EACnClG,QAAQ,EAAE5B,SAAS,CAAC2H,KAAK;EACzB9F,gBAAgB,EAAE7B,SAAS,CAAC2H,KAAK;EACjC7F,gBAAgB,EAAE9B,SAAS,CAAC6H,IAAI;EAChC9F,iBAAiB,EAAE/B,SAAS,CAAC0H,MAAM;EACnC1F,MAAM,EAAEhC,SAAS,CAAC+H;AACpB,CAAC;AAED3G,qBAAqB,CAAC4G,YAAY,GAAG;EACnC1G,GAAG,EAAE,IAAI;EACTC,OAAO,EAAE,EAAE;EACXF,MAAM,EAAE,EAAE;EACVI,uBAAuB,EAAE,IAAI;EAC7BC,gBAAgB,EAAE,CAAC;EACnBC,iBAAiB,EAAE,CAAC;EACpBC,QAAQ,EAAE,EAAE;EACZC,gBAAgB,EAAE,EAAE;EACpBC,gBAAgB,EAAE,KAAK;EACvBC,iBAAiB,EAAE,EAAE;EACrBC,MAAM,EAAE,CAAC,CAAC;EACVC,sBAAsB,EAAE;AAC1B,CAAC;AAED,eAAe9B,SAAS,CAACiB,qBAAqB,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","names":["React","PropTypes","Select","DEFAULT_OPTION","SelectFilter","data","label","prop","updateFilterValues","filterValues","shouldSearch","displayLabelAsPlaceholder","displayFilterCount","elementTitle","filterValue","disabledOptions","buckets","options","map","key","doc_count","count","push","optionLabel","filter","Boolean","sort","labelText","labelToUse","defaultTextValue","createElement","Fragment","className","value","id","name","onChange","valueToUse","disabled","propTypes","object","isRequired","string","func","bool","defaultProps"],"sources":["../../../../src/components/SearchFilter/components/Select.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Select from '@blaze-react/select';\nimport { DEFAULT_OPTION } from '../constants';\n\nconst SelectFilter = ({\n data,\n label,\n prop,\n updateFilterValues,\n filterValues,\n shouldSearch,\n displayLabelAsPlaceholder,\n displayFilterCount,\n elementTitle\n}) => {\n const filterValue = filterValues[prop] || '';\n const disabledOptions = [];\n const { buckets = [] } = data[prop] || {};\n const options = buckets\n .map(({ key, doc_count: count }) => {\n if (!count) disabledOptions.push(key);\n const optionLabel = displayFilterCount ? `${key} (${count})` : key;\n return [key, optionLabel];\n })\n .filter(Boolean)\n .sort();\n\n const labelText = label || prop;\n let labelToUse = labelText;\n let defaultTextValue = DEFAULT_OPTION;\n if (displayLabelAsPlaceholder) {\n defaultTextValue = labelToUse;\n labelToUse = null;\n }\n\n return (\n <>\n {elementTitle && <div className=\"heading heading--section\">{elementTitle}</div>}\n <Select\n label={labelToUse}\n value={filterValue}\n id={prop}\n name={`filter-${prop}`}\n data-testid={`filter-${prop}`}\n options={options}\n defaultTextValue={defaultTextValue}\n onChange={({ value }) => {\n let valueToUse = value;\n if (value === defaultTextValue) valueToUse = '';\n updateFilterValues({ [prop]: valueToUse }, shouldSearch);\n }}\n disabled={disabledOptions}\n />\n </>\n );\n};\n\nSelectFilter.propTypes = {\n data: PropTypes.object.isRequired,\n prop: PropTypes.string.isRequired,\n filterValues: PropTypes.object,\n updateFilterValues: PropTypes.func.isRequired,\n shouldSearch: PropTypes.bool,\n label: PropTypes.string,\n elementTitle: PropTypes.string,\n\n displayLabelAsPlaceholder: PropTypes.bool,\n displayFilterCount: PropTypes.bool\n};\n\nSelectFilter.defaultProps = {\n filterValues: {},\n shouldSearch: false,\n label: '',\n elementTitle: '',\n displayLabelAsPlaceholder: false,\n displayFilterCount: false\n};\n\nexport default SelectFilter;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Select.js","names":["React","PropTypes","Select","DEFAULT_OPTION","SelectFilter","data","label","prop","updateFilterValues","filterValues","shouldSearch","displayLabelAsPlaceholder","displayFilterCount","elementTitle","filterValue","disabledOptions","buckets","options","map","key","doc_count","count","push","optionLabel","filter","Boolean","sort","labelText","labelToUse","defaultTextValue","createElement","Fragment","className","value","id","name","onChange","valueToUse","disabled","propTypes","object","isRequired","string","func","bool","defaultProps"],"sources":["../../../../src/components/SearchFilter/components/Select.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Select from '@blaze-react/select';\nimport { DEFAULT_OPTION } from '../constants';\n\nconst SelectFilter = ({\n data,\n label,\n prop,\n updateFilterValues,\n filterValues,\n shouldSearch,\n displayLabelAsPlaceholder,\n displayFilterCount,\n elementTitle\n}) => {\n const filterValue = filterValues[prop] || '';\n const disabledOptions = [];\n const { buckets = [] } = data[prop] || {};\n\n const options = buckets\n .map(({ key, doc_count: count }) => {\n if (!count) disabledOptions.push(key);\n const optionLabel = displayFilterCount ? `${key} (${count})` : key;\n return [key, optionLabel];\n })\n .filter(Boolean)\n .sort();\n\n const labelText = label || prop;\n let labelToUse = labelText;\n let defaultTextValue = DEFAULT_OPTION;\n if (displayLabelAsPlaceholder) {\n defaultTextValue = labelToUse;\n labelToUse = null;\n }\n\n return (\n <>\n {elementTitle && <div className=\"heading heading--section\">{elementTitle}</div>}\n <Select\n label={labelToUse}\n value={filterValue}\n id={prop}\n name={`filter-${prop}`}\n data-testid={`filter-${prop}`}\n options={options}\n defaultTextValue={defaultTextValue}\n onChange={({ value }) => {\n let valueToUse = value;\n if (value === defaultTextValue) valueToUse = '';\n\n updateFilterValues({ [prop]: valueToUse }, shouldSearch);\n }}\n disabled={disabledOptions}\n />\n </>\n );\n};\n\nSelectFilter.propTypes = {\n data: PropTypes.object.isRequired,\n prop: PropTypes.string.isRequired,\n filterValues: PropTypes.object,\n updateFilterValues: PropTypes.func.isRequired,\n shouldSearch: PropTypes.bool,\n label: PropTypes.string,\n elementTitle: PropTypes.string,\n\n displayLabelAsPlaceholder: PropTypes.bool,\n displayFilterCount: PropTypes.bool\n};\n\nSelectFilter.defaultProps = {\n filterValues: {},\n shouldSearch: false,\n label: '',\n elementTitle: '',\n displayLabelAsPlaceholder: false,\n displayFilterCount: false\n};\n\nexport default SelectFilter;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ const buildListNameQuery = (query, listName) => {
2
+ if (!listName) return query;
3
+ const updatedQuery = {};
4
+ const listKey = `pb[${listName}]`;
5
+ Object.keys(query).forEach(queryKey => {
6
+ const isListKey = queryKey.indexOf(`${listName}`) !== -1;
7
+ if (!isListKey) return;
8
+ const decodedQueryValue = Array.isArray(query[queryKey]) ? query[queryKey].map(value => decodeURIComponent(value)) : decodeURIComponent(query[queryKey]);
9
+ const strippedKey = queryKey.substring(listKey.length + 1, queryKey.length - 1);
10
+ if (isListKey) updatedQuery[strippedKey] = decodedQueryValue;
11
+ });
12
+ return updatedQuery;
13
+ };
14
+ export default buildListNameQuery;
15
+ //# sourceMappingURL=build-list-name-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-list-name-query.js","names":["buildListNameQuery","query","listName","updatedQuery","listKey","Object","keys","forEach","queryKey","isListKey","indexOf","decodedQueryValue","Array","isArray","map","value","decodeURIComponent","strippedKey","substring","length"],"sources":["../../../../src/components/SearchFilter/helpers/build-list-name-query.js"],"sourcesContent":["const buildListNameQuery = (query, listName) => {\n if (!listName) return query;\n const updatedQuery = {};\n const listKey = `pb[${listName}]`;\n Object.keys(query).forEach(queryKey => {\n const isListKey = queryKey.indexOf(`${listName}`) !== -1;\n if (!isListKey) return;\n const decodedQueryValue = Array.isArray(query[queryKey])\n ? query[queryKey].map(value => decodeURIComponent(value))\n : decodeURIComponent(query[queryKey]);\n const strippedKey = queryKey.substring(listKey.length + 1, queryKey.length - 1);\n if (isListKey) updatedQuery[strippedKey] = decodedQueryValue;\n });\n\n return updatedQuery;\n};\n\nexport default buildListNameQuery;\n"],"mappings":"AAAA,MAAMA,kBAAkB,GAAGA,CAACC,KAAK,EAAEC,QAAQ,KAAK;EAC9C,IAAI,CAACA,QAAQ,EAAE,OAAOD,KAAK;EAC3B,MAAME,YAAY,GAAG,CAAC,CAAC;EACvB,MAAMC,OAAO,GAAI,MAAKF,QAAS,GAAE;EACjCG,MAAM,CAACC,IAAI,CAACL,KAAK,CAAC,CAACM,OAAO,CAACC,QAAQ,IAAI;IACrC,MAAMC,SAAS,GAAGD,QAAQ,CAACE,OAAO,CAAE,GAAER,QAAS,EAAC,CAAC,KAAK,CAAC,CAAC;IACxD,IAAI,CAACO,SAAS,EAAE;IAChB,MAAME,iBAAiB,GAAGC,KAAK,CAACC,OAAO,CAACZ,KAAK,CAACO,QAAQ,CAAC,CAAC,GACpDP,KAAK,CAACO,QAAQ,CAAC,CAACM,GAAG,CAACC,KAAK,IAAIC,kBAAkB,CAACD,KAAK,CAAC,CAAC,GACvDC,kBAAkB,CAACf,KAAK,CAACO,QAAQ,CAAC,CAAC;IACvC,MAAMS,WAAW,GAAGT,QAAQ,CAACU,SAAS,CAACd,OAAO,CAACe,MAAM,GAAG,CAAC,EAAEX,QAAQ,CAACW,MAAM,GAAG,CAAC,CAAC;IAC/E,IAAIV,SAAS,EAAEN,YAAY,CAACc,WAAW,CAAC,GAAGN,iBAAiB;EAC9D,CAAC,CAAC;EAEF,OAAOR,YAAY;AACrB,CAAC;AAED,eAAeH,kBAAkB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"decode-encode.js","names":["decodeValue","value","decodeURIComponent","encodeValue","encodeURIComponent"],"sources":["../../../../src/components/SearchFilter/helpers/decode-encode.js"],"sourcesContent":["const decodeValue = value => decodeURIComponent(value);\n\nconst encodeValue = value => encodeURIComponent(value);\n\nexport { decodeValue, encodeValue };\n"],"mappings":"AAAA,MAAMA,WAAW,GAAGC,KAAK,IAAIC,kBAAkB,CAACD,KAAK,CAAC;AAEtD,MAAME,WAAW,GAAGF,KAAK,IAAIG,kBAAkB,CAACH,KAAK,CAAC;AAEtD,SAASD,WAAW,EAAEG,WAAW","ignoreList":[]}
1
+ {"version":3,"file":"decode-encode.js","names":["decodeValue","value","decodeURIComponent","encodeValue","encodeURIComponent"],"sources":["../../../../src/components/SearchFilter/helpers/decode-encode.js"],"sourcesContent":["const decodeValue = value => decodeURIComponent(value);\nconst encodeValue = value => encodeURIComponent(value);\n\nexport { decodeValue, encodeValue };\n"],"mappings":"AAAA,MAAMA,WAAW,GAAGC,KAAK,IAAIC,kBAAkB,CAACD,KAAK,CAAC;AACtD,MAAME,WAAW,GAAGF,KAAK,IAAIG,kBAAkB,CAACH,KAAK,CAAC;AAEtD,SAASD,WAAW,EAAEG,WAAW","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ import buildListNameQuery from './build-list-name-query';
1
2
  import buildNewUrl from './build-new-url';
2
3
  import { decodeValue, encodeValue } from './decode-encode';
3
4
  import checkIfRangeUpdated from './check-if-range-updated';
@@ -14,5 +15,5 @@ import getFilterValueFromQuery from './get-filter-value-from-query';
14
15
  import getFilterRangesAndCheckboxesValues from './get-filter-ranges-and-checkboxes-values';
15
16
  import getUpdatedFilterBy from './get-updated-filter-by';
16
17
  import buildUrlQuery from './build-url-query';
17
- export { buildNewUrl, decodeValue, encodeValue, checkIfRangeUpdated, getResponsiveFilterClassnames, getDisplayValue, calculateStep, calculateMinMax, getIntersectedProp, getRangeValue, getSelectOptions, isDeviceDesktop, getFilterValues, getFilterValueFromQuery, getFilterRangesAndCheckboxesValues, getUpdatedFilterBy, buildUrlQuery };
18
+ export { buildListNameQuery, buildNewUrl, decodeValue, encodeValue, checkIfRangeUpdated, getResponsiveFilterClassnames, getDisplayValue, calculateStep, calculateMinMax, getIntersectedProp, getRangeValue, getSelectOptions, isDeviceDesktop, getFilterValues, getFilterValueFromQuery, getFilterRangesAndCheckboxesValues, getUpdatedFilterBy, buildUrlQuery };
18
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["buildNewUrl","decodeValue","encodeValue","checkIfRangeUpdated","getResponsiveFilterClassnames","getDisplayValue","calculateStep","calculateMinMax","getIntersectedProp","getRangeValue","getSelectOptions","isDeviceDesktop","getFilterValues","getFilterValueFromQuery","getFilterRangesAndCheckboxesValues","getUpdatedFilterBy","buildUrlQuery"],"sources":["../../../../src/components/SearchFilter/helpers/index.js"],"sourcesContent":["import buildNewUrl from './build-new-url';\nimport { decodeValue, encodeValue } from './decode-encode';\nimport checkIfRangeUpdated from './check-if-range-updated';\nimport getResponsiveFilterClassnames from './get-responsive-filter-classnames';\nimport getDisplayValue from './get-display-value';\nimport calculateStep from './calculate-step';\nimport calculateMinMax from './calculate-min-max';\nimport getIntersectedProp from './get-intersected-prop';\nimport getRangeValue from './get-range-value';\nimport getSelectOptions from './get-select-options';\nimport isDeviceDesktop from './is-device-desktop';\nimport getFilterValues from './get-filter-values';\nimport getFilterValueFromQuery from './get-filter-value-from-query';\nimport getFilterRangesAndCheckboxesValues from './get-filter-ranges-and-checkboxes-values';\nimport getUpdatedFilterBy from './get-updated-filter-by';\nimport buildUrlQuery from './build-url-query';\n\nexport {\n buildNewUrl,\n decodeValue,\n encodeValue,\n checkIfRangeUpdated,\n getResponsiveFilterClassnames,\n getDisplayValue,\n calculateStep,\n calculateMinMax,\n getIntersectedProp,\n getRangeValue,\n getSelectOptions,\n isDeviceDesktop,\n getFilterValues,\n getFilterValueFromQuery,\n getFilterRangesAndCheckboxesValues,\n getUpdatedFilterBy,\n buildUrlQuery\n};\n"],"mappings":"AAAA,OAAOA,WAAW,MAAM,iBAAiB;AACzC,SAASC,WAAW,EAAEC,WAAW,QAAQ,iBAAiB;AAC1D,OAAOC,mBAAmB,MAAM,0BAA0B;AAC1D,OAAOC,6BAA6B,MAAM,oCAAoC;AAC9E,OAAOC,eAAe,MAAM,qBAAqB;AACjD,OAAOC,aAAa,MAAM,kBAAkB;AAC5C,OAAOC,eAAe,MAAM,qBAAqB;AACjD,OAAOC,kBAAkB,MAAM,wBAAwB;AACvD,OAAOC,aAAa,MAAM,mBAAmB;AAC7C,OAAOC,gBAAgB,MAAM,sBAAsB;AACnD,OAAOC,eAAe,MAAM,qBAAqB;AACjD,OAAOC,eAAe,MAAM,qBAAqB;AACjD,OAAOC,uBAAuB,MAAM,+BAA+B;AACnE,OAAOC,kCAAkC,MAAM,2CAA2C;AAC1F,OAAOC,kBAAkB,MAAM,yBAAyB;AACxD,OAAOC,aAAa,MAAM,mBAAmB;AAE7C,SACEhB,WAAW,EACXC,WAAW,EACXC,WAAW,EACXC,mBAAmB,EACnBC,6BAA6B,EAC7BC,eAAe,EACfC,aAAa,EACbC,eAAe,EACfC,kBAAkB,EAClBC,aAAa,EACbC,gBAAgB,EAChBC,eAAe,EACfC,eAAe,EACfC,uBAAuB,EACvBC,kCAAkC,EAClCC,kBAAkB,EAClBC,aAAa","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["buildListNameQuery","buildNewUrl","decodeValue","encodeValue","checkIfRangeUpdated","getResponsiveFilterClassnames","getDisplayValue","calculateStep","calculateMinMax","getIntersectedProp","getRangeValue","getSelectOptions","isDeviceDesktop","getFilterValues","getFilterValueFromQuery","getFilterRangesAndCheckboxesValues","getUpdatedFilterBy","buildUrlQuery"],"sources":["../../../../src/components/SearchFilter/helpers/index.js"],"sourcesContent":["import buildListNameQuery from './build-list-name-query';\nimport buildNewUrl from './build-new-url';\nimport { decodeValue, encodeValue } from './decode-encode';\nimport checkIfRangeUpdated from './check-if-range-updated';\nimport getResponsiveFilterClassnames from './get-responsive-filter-classnames';\nimport getDisplayValue from './get-display-value';\nimport calculateStep from './calculate-step';\nimport calculateMinMax from './calculate-min-max';\nimport getIntersectedProp from './get-intersected-prop';\nimport getRangeValue from './get-range-value';\nimport getSelectOptions from './get-select-options';\nimport isDeviceDesktop from './is-device-desktop';\nimport getFilterValues from './get-filter-values';\nimport getFilterValueFromQuery from './get-filter-value-from-query';\nimport getFilterRangesAndCheckboxesValues from './get-filter-ranges-and-checkboxes-values';\nimport getUpdatedFilterBy from './get-updated-filter-by';\nimport buildUrlQuery from './build-url-query';\n\nexport {\n buildListNameQuery,\n buildNewUrl,\n decodeValue,\n encodeValue,\n checkIfRangeUpdated,\n getResponsiveFilterClassnames,\n getDisplayValue,\n calculateStep,\n calculateMinMax,\n getIntersectedProp,\n getRangeValue,\n getSelectOptions,\n isDeviceDesktop,\n getFilterValues,\n getFilterValueFromQuery,\n getFilterRangesAndCheckboxesValues,\n getUpdatedFilterBy,\n buildUrlQuery\n};\n"],"mappings":"AAAA,OAAOA,kBAAkB,MAAM,yBAAyB;AACxD,OAAOC,WAAW,MAAM,iBAAiB;AACzC,SAASC,WAAW,EAAEC,WAAW,QAAQ,iBAAiB;AAC1D,OAAOC,mBAAmB,MAAM,0BAA0B;AAC1D,OAAOC,6BAA6B,MAAM,oCAAoC;AAC9E,OAAOC,eAAe,MAAM,qBAAqB;AACjD,OAAOC,aAAa,MAAM,kBAAkB;AAC5C,OAAOC,eAAe,MAAM,qBAAqB;AACjD,OAAOC,kBAAkB,MAAM,wBAAwB;AACvD,OAAOC,aAAa,MAAM,mBAAmB;AAC7C,OAAOC,gBAAgB,MAAM,sBAAsB;AACnD,OAAOC,eAAe,MAAM,qBAAqB;AACjD,OAAOC,eAAe,MAAM,qBAAqB;AACjD,OAAOC,uBAAuB,MAAM,+BAA+B;AACnE,OAAOC,kCAAkC,MAAM,2CAA2C;AAC1F,OAAOC,kBAAkB,MAAM,yBAAyB;AACxD,OAAOC,aAAa,MAAM,mBAAmB;AAE7C,SACEjB,kBAAkB,EAClBC,WAAW,EACXC,WAAW,EACXC,WAAW,EACXC,mBAAmB,EACnBC,6BAA6B,EAC7BC,eAAe,EACfC,aAAa,EACbC,eAAe,EACfC,kBAAkB,EAClBC,aAAa,EACbC,gBAAgB,EAChBC,eAAe,EACfC,eAAe,EACfC,uBAAuB,EACvBC,kCAAkC,EAClCC,kBAAkB,EAClBC,aAAa","ignoreList":[]}
@@ -47,7 +47,8 @@ const Video = _ref => {
47
47
  });
48
48
  return /*#__PURE__*/React.createElement(Wrapper, {
49
49
  className: "video",
50
- modifiers: modifiers
50
+ modifiers: modifiers,
51
+ key: url
51
52
  }, playInModal ? /*#__PURE__*/React.createElement(VideoModal, _extends({
52
53
  url: url,
53
54
  modifier: modifier,
@@ -1 +1 @@
1
- {"version":3,"file":"Video.js","names":["React","PropTypes","useGetImages","VideoRender","VideoModal","Wrapper","getClassModifiers","shouldShowProperty","Video","_ref","url","modifier","autoplay","isCaptionDisplayed","caption","credits","areVideoCreditsDisplayed","provider","playInModal","imageId","props","_objectWithoutProperties","_excluded","data","getFile","imageData","loading","modifiers","toLowerCase","_objectSpread","shouldDisplayCaption","isDisplayed","value","shouldDisplayCredits","createElement","className","_extends","propTypes","string","bool","defaultProps"],"sources":["../../../src/components/Video/Video.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport useGetImages from '../../hooks/use-get-images';\nimport VideoRender from './VideoRender';\nimport VideoModal from './VideoModal';\nimport Wrapper from '../Wrapper';\nimport getClassModifiers from '../../utils/get-class-modifiers';\nimport { shouldShowProperty } from '../../helpers';\n\nconst Video = ({\n url,\n modifier,\n autoplay,\n isCaptionDisplayed,\n caption,\n credits,\n areVideoCreditsDisplayed,\n provider,\n playInModal,\n imageId,\n ...props\n}) => {\n const {\n data: { getFile: imageData },\n loading\n } = useGetImages(imageId);\n\n if (loading) return '';\n if (!url) return null;\n\n const modifiers = `video--${provider.toLowerCase()} ${getClassModifiers('video', {\n modifier,\n ...props\n })}`;\n\n const shouldDisplayCaption = shouldShowProperty({\n isDisplayed: isCaptionDisplayed,\n value: caption\n });\n const shouldDisplayCredits = shouldShowProperty({\n isDisplayed: areVideoCreditsDisplayed,\n value: credits\n });\n\n return (\n <Wrapper className=\"video\" modifiers={modifiers}>\n {playInModal ? (\n <VideoModal\n url={url}\n modifier={modifier}\n autoplay={autoplay}\n provider={provider}\n imageData={imageData}\n {...props}\n />\n ) : (\n <VideoRender\n url={url}\n modifier={modifier}\n autoplay={autoplay}\n provider={provider}\n imageData={imageData}\n {...props}\n />\n )}\n\n {(shouldDisplayCaption || shouldDisplayCredits) && (\n <div className=\"video__details\" data-testid=\"video-details\">\n {shouldDisplayCaption && <div className=\"caption\">{caption}</div>}\n {shouldDisplayCredits && <div className=\"credits\">{credits}</div>}\n </div>\n )}\n </Wrapper>\n );\n};\n\nVideo.propTypes = {\n url: PropTypes.string,\n modifier: PropTypes.string,\n caption: PropTypes.string,\n credits: PropTypes.string,\n autoplay: PropTypes.bool,\n areVideoCreditsDisplayed: PropTypes.bool,\n isCaptionDisplayed: PropTypes.bool,\n provider: PropTypes.string,\n playInModal: PropTypes.bool,\n imageId: PropTypes.string\n};\n\nVideo.defaultProps = {\n caption: '',\n credits: '',\n modifier: '',\n imageId: '',\n url: '',\n provider: 'youtube',\n autoplay: false,\n isCaptionDisplayed: false,\n areVideoCreditsDisplayed: false,\n playInModal: false\n};\n\nexport default Video;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Video.js","names":["React","PropTypes","useGetImages","VideoRender","VideoModal","Wrapper","getClassModifiers","shouldShowProperty","Video","_ref","url","modifier","autoplay","isCaptionDisplayed","caption","credits","areVideoCreditsDisplayed","provider","playInModal","imageId","props","_objectWithoutProperties","_excluded","data","getFile","imageData","loading","modifiers","toLowerCase","_objectSpread","shouldDisplayCaption","isDisplayed","value","shouldDisplayCredits","createElement","className","key","_extends","propTypes","string","bool","defaultProps"],"sources":["../../../src/components/Video/Video.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport useGetImages from '../../hooks/use-get-images';\nimport VideoRender from './VideoRender';\nimport VideoModal from './VideoModal';\nimport Wrapper from '../Wrapper';\nimport getClassModifiers from '../../utils/get-class-modifiers';\nimport { shouldShowProperty } from '../../helpers';\n\nconst Video = ({\n url,\n modifier,\n autoplay,\n isCaptionDisplayed,\n caption,\n credits,\n areVideoCreditsDisplayed,\n provider,\n playInModal,\n imageId,\n ...props\n}) => {\n const {\n data: { getFile: imageData },\n loading\n } = useGetImages(imageId);\n\n if (loading) return '';\n if (!url) return null;\n\n const modifiers = `video--${provider.toLowerCase()} ${getClassModifiers('video', {\n modifier,\n ...props\n })}`;\n\n const shouldDisplayCaption = shouldShowProperty({\n isDisplayed: isCaptionDisplayed,\n value: caption\n });\n const shouldDisplayCredits = shouldShowProperty({\n isDisplayed: areVideoCreditsDisplayed,\n value: credits\n });\n\n return (\n <Wrapper className=\"video\" modifiers={modifiers} key={url}>\n {playInModal ? (\n <VideoModal\n url={url}\n modifier={modifier}\n autoplay={autoplay}\n provider={provider}\n imageData={imageData}\n {...props}\n />\n ) : (\n <VideoRender\n url={url}\n modifier={modifier}\n autoplay={autoplay}\n provider={provider}\n imageData={imageData}\n {...props}\n />\n )}\n\n {(shouldDisplayCaption || shouldDisplayCredits) && (\n <div className=\"video__details\" data-testid=\"video-details\">\n {shouldDisplayCaption && <div className=\"caption\">{caption}</div>}\n {shouldDisplayCredits && <div className=\"credits\">{credits}</div>}\n </div>\n )}\n </Wrapper>\n );\n};\n\nVideo.propTypes = {\n url: PropTypes.string,\n modifier: PropTypes.string,\n caption: PropTypes.string,\n credits: PropTypes.string,\n autoplay: PropTypes.bool,\n areVideoCreditsDisplayed: PropTypes.bool,\n isCaptionDisplayed: PropTypes.bool,\n provider: PropTypes.string,\n playInModal: PropTypes.bool,\n imageId: PropTypes.string\n};\n\nVideo.defaultProps = {\n caption: '',\n credits: '',\n modifier: '',\n imageId: '',\n url: '',\n provider: 'youtube',\n autoplay: false,\n isCaptionDisplayed: false,\n areVideoCreditsDisplayed: false,\n playInModal: false\n};\n\nexport default Video;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ import { createContext } from 'react';
2
+ const VideoContext = createContext({});
3
+ const VideoContextProvider = VideoContext.Provider;
4
+ const VideoContextConsumer = VideoContext.Consumer;
5
+ export { VideoContext, VideoContextProvider, VideoContextConsumer };
6
+ //# sourceMappingURL=VideoContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VideoContext.js","names":["createContext","VideoContext","VideoContextProvider","Provider","VideoContextConsumer","Consumer"],"sources":["../../../src/components/Video/VideoContext.js"],"sourcesContent":["import { createContext } from 'react';\n\nconst VideoContext = createContext({});\nconst VideoContextProvider = VideoContext.Provider;\nconst VideoContextConsumer = VideoContext.Consumer;\n\nexport { VideoContext, VideoContextProvider, VideoContextConsumer };\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,OAAO;AAErC,MAAMC,YAAY,GAAGD,aAAa,CAAC,CAAC,CAAC,CAAC;AACtC,MAAME,oBAAoB,GAAGD,YAAY,CAACE,QAAQ;AAClD,MAAMC,oBAAoB,GAAGH,YAAY,CAACI,QAAQ;AAElD,SAASJ,YAAY,EAAEC,oBAAoB,EAAEE,oBAAoB","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  import _objectDestructuringEmpty from "@babel/runtime/helpers/objectDestructuringEmpty";
2
2
  import _extends from "@babel/runtime/helpers/extends";
3
3
  import React, { useState } from 'react';
4
- import Modal from '@blaze-react/modal';
4
+ import Modal from '../ModalAdapter';
5
5
  import VideoRender from './VideoRender';
6
6
  const VideoModal = _ref => {
7
7
  let props = _extends({}, (_objectDestructuringEmpty(_ref), _ref));