@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
@@ -1 +1 @@
1
- {"version":3,"file":"VideoModal.js","names":["React","useState","Modal","VideoRender","VideoModal","_ref","props","_extends","_objectDestructuringEmpty","displayModal","setDisplayModal","createElement","Fragment","role","onClick","placeholderOnly","autoplay","className","isFullScreen","showFooter","isSimple","onClose"],"sources":["../../../src/components/Video/VideoModal.js"],"sourcesContent":["import React, { useState } from 'react';\nimport Modal from '@blaze-react/modal';\nimport VideoRender from './VideoRender';\n\nconst VideoModal = ({ ...props }) => {\n const [displayModal, setDisplayModal] = useState(false);\n\n return (\n <>\n <div\n role=\"button\"\n aria-label=\"Open video\"\n onClick={() => {\n setDisplayModal(!displayModal);\n }}>\n <VideoRender placeholderOnly autoplay={false} {...props} />\n </div>\n {displayModal && (\n <Modal\n className=\"modal--video\"\n isFullScreen\n showFooter={false}\n isSimple\n onClose={() => setDisplayModal(!displayModal)}>\n <VideoRender {...props} placeholderOnly={false} autoplay />\n </Modal>\n )}\n </>\n );\n};\n\nexport default VideoModal;\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,OAAOC,KAAK,MAAM,oBAAoB;AACtC,OAAOC,WAAW,MAAM,eAAe;AAEvC,MAAMC,UAAU,GAAGC,IAAA,IAAkB;EAAA,IAAZC,KAAK,GAAAC,QAAA,MAAAC,yBAAA,CAAAH,IAAA,GAAAA,IAAA;EAC5B,MAAM,CAACI,YAAY,EAAEC,eAAe,CAAC,GAAGT,QAAQ,CAAC,KAAK,CAAC;EAEvD,oBACED,KAAA,CAAAW,aAAA,CAAAX,KAAA,CAAAY,QAAA,qBACEZ,KAAA,CAAAW,aAAA;IACEE,IAAI,EAAC,QAAQ;IACb,cAAW,YAAY;IACvBC,OAAO,EAAEA,CAAA,KAAM;MACbJ,eAAe,CAAC,CAACD,YAAY,CAAC;IAChC;EAAE,gBACFT,KAAA,CAAAW,aAAA,CAACR,WAAW,EAAAI,QAAA;IAACQ,eAAe;IAACC,QAAQ,EAAE;EAAM,GAAKV,KAAK,CAAG,CACvD,CAAC,EACLG,YAAY,iBACXT,KAAA,CAAAW,aAAA,CAACT,KAAK;IACJe,SAAS,EAAC,cAAc;IACxBC,YAAY;IACZC,UAAU,EAAE,KAAM;IAClBC,QAAQ;IACRC,OAAO,EAAEA,CAAA,KAAMX,eAAe,CAAC,CAACD,YAAY;EAAE,gBAC9CT,KAAA,CAAAW,aAAA,CAACR,WAAW,EAAAI,QAAA,KAAKD,KAAK;IAAES,eAAe,EAAE,KAAM;IAACC,QAAQ;EAAA,EAAE,CACrD,CAET,CAAC;AAEP,CAAC;AAED,eAAeZ,UAAU","ignoreList":[]}
1
+ {"version":3,"file":"VideoModal.js","names":["React","useState","Modal","VideoRender","VideoModal","_ref","props","_extends","_objectDestructuringEmpty","displayModal","setDisplayModal","createElement","Fragment","role","onClick","placeholderOnly","autoplay","className","isFullScreen","showFooter","isSimple","onClose"],"sources":["../../../src/components/Video/VideoModal.js"],"sourcesContent":["import React, { useState } from 'react';\nimport Modal from '../ModalAdapter';\nimport VideoRender from './VideoRender';\n\nconst VideoModal = ({ ...props }) => {\n const [displayModal, setDisplayModal] = useState(false);\n\n return (\n <>\n <div\n role=\"button\"\n aria-label=\"Open video\"\n onClick={() => {\n setDisplayModal(!displayModal);\n }}>\n <VideoRender placeholderOnly autoplay={false} {...props} />\n </div>\n {displayModal && (\n <Modal\n className=\"modal--video\"\n isFullScreen\n showFooter={false}\n isSimple\n onClose={() => setDisplayModal(!displayModal)}>\n <VideoRender {...props} placeholderOnly={false} autoplay />\n </Modal>\n )}\n </>\n );\n};\n\nexport default VideoModal;\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,OAAOC,KAAK,MAAM,iBAAiB;AACnC,OAAOC,WAAW,MAAM,eAAe;AAEvC,MAAMC,UAAU,GAAGC,IAAA,IAAkB;EAAA,IAAZC,KAAK,GAAAC,QAAA,MAAAC,yBAAA,CAAAH,IAAA,GAAAA,IAAA;EAC5B,MAAM,CAACI,YAAY,EAAEC,eAAe,CAAC,GAAGT,QAAQ,CAAC,KAAK,CAAC;EAEvD,oBACED,KAAA,CAAAW,aAAA,CAAAX,KAAA,CAAAY,QAAA,qBACEZ,KAAA,CAAAW,aAAA;IACEE,IAAI,EAAC,QAAQ;IACb,cAAW,YAAY;IACvBC,OAAO,EAAEA,CAAA,KAAM;MACbJ,eAAe,CAAC,CAACD,YAAY,CAAC;IAChC;EAAE,gBACFT,KAAA,CAAAW,aAAA,CAACR,WAAW,EAAAI,QAAA;IAACQ,eAAe;IAACC,QAAQ,EAAE;EAAM,GAAKV,KAAK,CAAG,CACvD,CAAC,EACLG,YAAY,iBACXT,KAAA,CAAAW,aAAA,CAACT,KAAK;IACJe,SAAS,EAAC,cAAc;IACxBC,YAAY;IACZC,UAAU,EAAE,KAAM;IAClBC,QAAQ;IACRC,OAAO,EAAEA,CAAA,KAAMX,eAAe,CAAC,CAACD,YAAY;EAAE,gBAC9CT,KAAA,CAAAW,aAAA,CAACR,WAAW,EAAAI,QAAA,KAAKD,KAAK;IAAES,eAAe,EAAE,KAAM;IAACC,QAAQ;EAAA,EAAE,CACrD,CAET,CAAC;AAEP,CAAC;AAED,eAAeZ,UAAU","ignoreList":[]}
@@ -1,19 +1,44 @@
1
1
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
2
  const _excluded = ["provider"];
3
- import React from 'react';
3
+ import React, { useRef } from 'react';
4
4
  import PropTypes from 'prop-types';
5
5
  import getProvider from './providers';
6
6
  import { withTitle } from '../../HOC';
7
+ import { VideoContextProvider } from './VideoContext';
8
+ import emitGtmEvent from './helpers/emit-gtm-event';
7
9
  const VideoRender = _ref => {
8
10
  let {
9
11
  provider
10
12
  } = _ref,
11
13
  props = _objectWithoutProperties(_ref, _excluded);
14
+ const ref = useRef(0);
12
15
  const Provider = getProvider(provider);
13
- return /*#__PURE__*/React.createElement(Provider, props);
16
+ const {
17
+ gtmEventName: propEventName
18
+ } = props;
19
+ const gtmEventName = propEventName || process.env.BLAZE_VIDEO_EVENT_NAME;
20
+ const emitEvent = gtmEventName ? ({
21
+ action,
22
+ videoId
23
+ }) => emitGtmEvent({
24
+ gtmEventName,
25
+ provider,
26
+ action,
27
+ videoId,
28
+ playCounter: ref
29
+ }) : null;
30
+ return /*#__PURE__*/React.createElement(VideoContextProvider, {
31
+ value: {
32
+ emitEvent
33
+ }
34
+ }, /*#__PURE__*/React.createElement(Provider, props));
14
35
  };
15
36
  VideoRender.propTypes = {
16
- provider: PropTypes.string.isRequired
37
+ provider: PropTypes.string.isRequired,
38
+ gtmEventName: PropTypes.string
39
+ };
40
+ VideoRender.defaultProps = {
41
+ gtmEventName: ''
17
42
  };
18
43
  export default withTitle(VideoRender);
19
44
  //# sourceMappingURL=VideoRender.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VideoRender.js","names":["React","PropTypes","getProvider","withTitle","VideoRender","_ref","provider","props","_objectWithoutProperties","_excluded","Provider","createElement","propTypes","string","isRequired"],"sources":["../../../src/components/Video/VideoRender.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport getProvider from './providers';\nimport { withTitle } from '../../HOC';\n\nconst VideoRender = ({ provider, ...props }) => {\n const Provider = getProvider(provider);\n return <Provider {...props} />;\n};\n\nVideoRender.propTypes = {\n provider: PropTypes.string.isRequired\n};\n\nexport default withTitle(VideoRender);\n"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,WAAW,MAAM,aAAa;AACrC,SAASC,SAAS,QAAQ,WAAW;AAErC,MAAMC,WAAW,GAAGC,IAAA,IAA4B;EAAA,IAA3B;MAAEC;IAAmB,CAAC,GAAAD,IAAA;IAAPE,KAAK,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EACvC,MAAMC,QAAQ,GAAGR,WAAW,CAACI,QAAQ,CAAC;EACtC,oBAAON,KAAA,CAAAW,aAAA,CAACD,QAAQ,EAAKH,KAAQ,CAAC;AAChC,CAAC;AAEDH,WAAW,CAACQ,SAAS,GAAG;EACtBN,QAAQ,EAAEL,SAAS,CAACY,MAAM,CAACC;AAC7B,CAAC;AAED,eAAeX,SAAS,CAACC,WAAW,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"VideoRender.js","names":["React","useRef","PropTypes","getProvider","withTitle","VideoContextProvider","emitGtmEvent","VideoRender","_ref","provider","props","_objectWithoutProperties","_excluded","ref","Provider","gtmEventName","propEventName","process","env","BLAZE_VIDEO_EVENT_NAME","emitEvent","action","videoId","playCounter","createElement","value","propTypes","string","isRequired","defaultProps"],"sources":["../../../src/components/Video/VideoRender.js"],"sourcesContent":["import React, { useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport getProvider from './providers';\nimport { withTitle } from '../../HOC';\nimport { VideoContextProvider } from './VideoContext';\nimport emitGtmEvent from './helpers/emit-gtm-event';\n\nconst VideoRender = ({ provider, ...props }) => {\n const ref = useRef(0);\n const Provider = getProvider(provider);\n const { gtmEventName: propEventName } = props;\n const gtmEventName = propEventName || process.env.BLAZE_VIDEO_EVENT_NAME;\n const emitEvent = gtmEventName\n ? ({ action, videoId }) =>\n emitGtmEvent({\n gtmEventName,\n provider,\n action,\n videoId,\n playCounter: ref\n })\n : null;\n\n return (\n <VideoContextProvider value={{ emitEvent }}>\n <Provider {...props} />\n </VideoContextProvider>\n );\n};\n\nVideoRender.propTypes = {\n provider: PropTypes.string.isRequired,\n gtmEventName: PropTypes.string\n};\n\nVideoRender.defaultProps = {\n gtmEventName: ''\n};\n\nexport default withTitle(VideoRender);\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,MAAM,QAAQ,OAAO;AACrC,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,WAAW,MAAM,aAAa;AACrC,SAASC,SAAS,QAAQ,WAAW;AACrC,SAASC,oBAAoB,QAAQ,gBAAgB;AACrD,OAAOC,YAAY,MAAM,0BAA0B;AAEnD,MAAMC,WAAW,GAAGC,IAAA,IAA4B;EAAA,IAA3B;MAAEC;IAAmB,CAAC,GAAAD,IAAA;IAAPE,KAAK,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EACvC,MAAMC,GAAG,GAAGZ,MAAM,CAAC,CAAC,CAAC;EACrB,MAAMa,QAAQ,GAAGX,WAAW,CAACM,QAAQ,CAAC;EACtC,MAAM;IAAEM,YAAY,EAAEC;EAAc,CAAC,GAAGN,KAAK;EAC7C,MAAMK,YAAY,GAAGC,aAAa,IAAIC,OAAO,CAACC,GAAG,CAACC,sBAAsB;EACxE,MAAMC,SAAS,GAAGL,YAAY,GAC1B,CAAC;IAAEM,MAAM;IAAEC;EAAQ,CAAC,KAClBhB,YAAY,CAAC;IACXS,YAAY;IACZN,QAAQ;IACRY,MAAM;IACNC,OAAO;IACPC,WAAW,EAAEV;EACf,CAAC,CAAC,GACJ,IAAI;EAER,oBACEb,KAAA,CAAAwB,aAAA,CAACnB,oBAAoB;IAACoB,KAAK,EAAE;MAAEL;IAAU;EAAE,gBACzCpB,KAAA,CAAAwB,aAAA,CAACV,QAAQ,EAAKJ,KAAQ,CACF,CAAC;AAE3B,CAAC;AAEDH,WAAW,CAACmB,SAAS,GAAG;EACtBjB,QAAQ,EAAEP,SAAS,CAACyB,MAAM,CAACC,UAAU;EACrCb,YAAY,EAAEb,SAAS,CAACyB;AAC1B,CAAC;AAEDpB,WAAW,CAACsB,YAAY,GAAG;EACzBd,YAAY,EAAE;AAChB,CAAC;AAED,eAAeX,SAAS,CAACG,WAAW,CAAC","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ export const EVENT_ACTIONS = {
2
+ START: 'start',
3
+ PLAYING: 'playing',
4
+ PAUSED: 'paused',
5
+ ENDED: 'ended'
6
+ };
7
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","names":["EVENT_ACTIONS","START","PLAYING","PAUSED","ENDED"],"sources":["../../../src/components/Video/constants.js"],"sourcesContent":["export const EVENT_ACTIONS = {\n START: 'start',\n PLAYING: 'playing',\n PAUSED: 'paused',\n ENDED: 'ended'\n};\n"],"mappings":"AAAA,OAAO,MAAMA,aAAa,GAAG;EAC3BC,KAAK,EAAE,OAAO;EACdC,OAAO,EAAE,SAAS;EAClBC,MAAM,EAAE,QAAQ;EAChBC,KAAK,EAAE;AACT,CAAC","ignoreList":[]}
@@ -0,0 +1,25 @@
1
+ import { EVENT_ACTIONS } from '../constants';
2
+ const emitGtmEvent = ({
3
+ gtmEventName,
4
+ provider,
5
+ action,
6
+ videoId,
7
+ playCounter
8
+ }) => {
9
+ if (!window.dataLayer || !action) return;
10
+ const actionToUse = action === EVENT_ACTIONS.PLAYING && playCounter.current < 1 ? EVENT_ACTIONS.START : action;
11
+ if (action === EVENT_ACTIONS.PLAYING) {
12
+ // eslint-disable-next-line no-param-reassign
13
+ playCounter.current += 1;
14
+ }
15
+ const playCount = playCounter.current;
16
+ window.dataLayer.push({
17
+ event: gtmEventName,
18
+ video_action: actionToUse,
19
+ video_provider: provider,
20
+ video_id: videoId,
21
+ video_play_count: playCount
22
+ });
23
+ };
24
+ export default emitGtmEvent;
25
+ //# sourceMappingURL=emit-gtm-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emit-gtm-event.js","names":["EVENT_ACTIONS","emitGtmEvent","gtmEventName","provider","action","videoId","playCounter","window","dataLayer","actionToUse","PLAYING","current","START","playCount","push","event","video_action","video_provider","video_id","video_play_count"],"sources":["../../../../src/components/Video/helpers/emit-gtm-event.js"],"sourcesContent":["import { EVENT_ACTIONS } from '../constants';\n\nconst emitGtmEvent = ({ gtmEventName, provider, action, videoId, playCounter }) => {\n if (!window.dataLayer || !action) return;\n\n const actionToUse =\n action === EVENT_ACTIONS.PLAYING && playCounter.current < 1 ? EVENT_ACTIONS.START : action;\n\n if (action === EVENT_ACTIONS.PLAYING) {\n // eslint-disable-next-line no-param-reassign\n playCounter.current += 1;\n }\n\n const playCount = playCounter.current;\n\n window.dataLayer.push({\n event: gtmEventName,\n video_action: actionToUse,\n video_provider: provider,\n video_id: videoId,\n video_play_count: playCount\n });\n};\n\nexport default emitGtmEvent;\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,cAAc;AAE5C,MAAMC,YAAY,GAAGA,CAAC;EAAEC,YAAY;EAAEC,QAAQ;EAAEC,MAAM;EAAEC,OAAO;EAAEC;AAAY,CAAC,KAAK;EACjF,IAAI,CAACC,MAAM,CAACC,SAAS,IAAI,CAACJ,MAAM,EAAE;EAElC,MAAMK,WAAW,GACfL,MAAM,KAAKJ,aAAa,CAACU,OAAO,IAAIJ,WAAW,CAACK,OAAO,GAAG,CAAC,GAAGX,aAAa,CAACY,KAAK,GAAGR,MAAM;EAE5F,IAAIA,MAAM,KAAKJ,aAAa,CAACU,OAAO,EAAE;IACpC;IACAJ,WAAW,CAACK,OAAO,IAAI,CAAC;EAC1B;EAEA,MAAME,SAAS,GAAGP,WAAW,CAACK,OAAO;EAErCJ,MAAM,CAACC,SAAS,CAACM,IAAI,CAAC;IACpBC,KAAK,EAAEb,YAAY;IACnBc,YAAY,EAAEP,WAAW;IACzBQ,cAAc,EAAEd,QAAQ;IACxBe,QAAQ,EAAEb,OAAO;IACjBc,gBAAgB,EAAEN;EACpB,CAAC,CAAC;AACJ,CAAC;AAED,eAAeZ,YAAY","ignoreList":[]}
@@ -3,8 +3,11 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
3
  Custom controller to extend and scale the 'react-jw-player' library for future updates.
4
4
  */
5
5
 
6
+ import { EVENT_ACTIONS } from '../../constants';
6
7
  class JWPlayerController {
7
- constructor() {
8
+ constructor({
9
+ emitEvent: _emitEvent
10
+ }) {
8
11
  _defineProperty(this, "setPlayer", player => {
9
12
  this.player = player;
10
13
  });
@@ -21,11 +24,32 @@ class JWPlayerController {
21
24
  }) => {
22
25
  this.error = message;
23
26
  });
24
- _defineProperty(this, "onComplete", event => {});
25
- _defineProperty(this, "onPause", event => {});
26
- _defineProperty(this, "onPlay", event => {});
27
+ _defineProperty(this, "doEmitEvent", action => {
28
+ const {
29
+ emitEvent
30
+ } = this;
31
+ if (emitEvent) {
32
+ const {
33
+ mediaid: videoId
34
+ } = this.player.getPlaylistItem();
35
+ emitEvent({
36
+ action,
37
+ videoId
38
+ });
39
+ }
40
+ });
41
+ _defineProperty(this, "onComplete", event => {
42
+ this.doEmitEvent(EVENT_ACTIONS.ENDED);
43
+ });
44
+ _defineProperty(this, "onPause", event => {
45
+ this.doEmitEvent(EVENT_ACTIONS.PAUSED);
46
+ });
47
+ _defineProperty(this, "onPlay", event => {
48
+ this.doEmitEvent(EVENT_ACTIONS.PLAYING);
49
+ });
27
50
  this.player = null;
28
51
  this.error = null;
52
+ this.emitEvent = _emitEvent;
29
53
  }
30
54
  get events() {
31
55
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"JWPlayerController.js","names":["JWPlayerController","constructor","_defineProperty","player","setError","message","error","event","events","play","onPlay","pause","onPause","onError","complete","onComplete","setupError"],"sources":["../../../../../src/components/Video/providers/JWPlayer/JWPlayerController.js"],"sourcesContent":["/*\n Custom controller to extend and scale the 'react-jw-player' library for future updates.\n*/\n\nclass JWPlayerController {\n constructor() {\n this.player = null;\n this.error = null;\n }\n\n setPlayer = player => {\n this.player = player;\n };\n\n setErrorHandler = setError => {\n this.setError = setError;\n };\n\n onError = ({ message }) => {\n this.error = message;\n };\n\n onSetupError = ({ message }) => {\n this.error = message;\n };\n\n onComplete = event => {};\n\n onPause = event => {};\n\n onPlay = event => {};\n\n get events() {\n return {\n play: this.onPlay,\n pause: this.onPause,\n error: this.onError,\n complete: this.onComplete,\n setupError: this.setupError\n };\n }\n}\n\nexport default JWPlayerController;\n"],"mappings":";AAAA;AACA;AACA;;AAEA,MAAMA,kBAAkB,CAAC;EACvBC,WAAWA,CAAA,EAAG;IAAAC,eAAA,oBAKFC,MAAM,IAAI;MACpB,IAAI,CAACA,MAAM,GAAGA,MAAM;IACtB,CAAC;IAAAD,eAAA,0BAEiBE,QAAQ,IAAI;MAC5B,IAAI,CAACA,QAAQ,GAAGA,QAAQ;IAC1B,CAAC;IAAAF,eAAA,kBAES,CAAC;MAAEG;IAAQ,CAAC,KAAK;MACzB,IAAI,CAACC,KAAK,GAAGD,OAAO;IACtB,CAAC;IAAAH,eAAA,uBAEc,CAAC;MAAEG;IAAQ,CAAC,KAAK;MAC9B,IAAI,CAACC,KAAK,GAAGD,OAAO;IACtB,CAAC;IAAAH,eAAA,qBAEYK,KAAK,IAAI,CAAC,CAAC;IAAAL,eAAA,kBAEdK,KAAK,IAAI,CAAC,CAAC;IAAAL,eAAA,iBAEZK,KAAK,IAAI,CAAC,CAAC;IAxBlB,IAAI,CAACJ,MAAM,GAAG,IAAI;IAClB,IAAI,CAACG,KAAK,GAAG,IAAI;EACnB;EAwBA,IAAIE,MAAMA,CAAA,EAAG;IACX,OAAO;MACLC,IAAI,EAAE,IAAI,CAACC,MAAM;MACjBC,KAAK,EAAE,IAAI,CAACC,OAAO;MACnBN,KAAK,EAAE,IAAI,CAACO,OAAO;MACnBC,QAAQ,EAAE,IAAI,CAACC,UAAU;MACzBC,UAAU,EAAE,IAAI,CAACA;IACnB,CAAC;EACH;AACF;AAEA,eAAehB,kBAAkB","ignoreList":[]}
1
+ {"version":3,"file":"JWPlayerController.js","names":["EVENT_ACTIONS","JWPlayerController","constructor","emitEvent","_defineProperty","player","setError","message","error","action","mediaid","videoId","getPlaylistItem","event","doEmitEvent","ENDED","PAUSED","PLAYING","events","play","onPlay","pause","onPause","onError","complete","onComplete","setupError"],"sources":["../../../../../src/components/Video/providers/JWPlayer/JWPlayerController.js"],"sourcesContent":["/*\n Custom controller to extend and scale the 'react-jw-player' library for future updates.\n*/\n\nimport { EVENT_ACTIONS } from '../../constants';\n\nclass JWPlayerController {\n constructor({ emitEvent }) {\n this.player = null;\n this.error = null;\n this.emitEvent = emitEvent;\n }\n\n setPlayer = player => {\n this.player = player;\n };\n\n setErrorHandler = setError => {\n this.setError = setError;\n };\n\n onError = ({ message }) => {\n this.error = message;\n };\n\n onSetupError = ({ message }) => {\n this.error = message;\n };\n\n doEmitEvent = action => {\n const { emitEvent } = this;\n if (emitEvent) {\n const { mediaid: videoId } = this.player.getPlaylistItem();\n emitEvent({ action, videoId });\n }\n };\n\n onComplete = event => {\n this.doEmitEvent(EVENT_ACTIONS.ENDED);\n };\n\n onPause = event => {\n this.doEmitEvent(EVENT_ACTIONS.PAUSED);\n };\n\n onPlay = event => {\n this.doEmitEvent(EVENT_ACTIONS.PLAYING);\n };\n\n get events() {\n return {\n play: this.onPlay,\n pause: this.onPause,\n error: this.onError,\n complete: this.onComplete,\n setupError: this.setupError\n };\n }\n}\n\nexport default JWPlayerController;\n"],"mappings":";AAAA;AACA;AACA;;AAEA,SAASA,aAAa,QAAQ,iBAAiB;AAE/C,MAAMC,kBAAkB,CAAC;EACvBC,WAAWA,CAAC;IAAEC,SAAS,EAATA;EAAU,CAAC,EAAE;IAAAC,eAAA,oBAMfC,MAAM,IAAI;MACpB,IAAI,CAACA,MAAM,GAAGA,MAAM;IACtB,CAAC;IAAAD,eAAA,0BAEiBE,QAAQ,IAAI;MAC5B,IAAI,CAACA,QAAQ,GAAGA,QAAQ;IAC1B,CAAC;IAAAF,eAAA,kBAES,CAAC;MAAEG;IAAQ,CAAC,KAAK;MACzB,IAAI,CAACC,KAAK,GAAGD,OAAO;IACtB,CAAC;IAAAH,eAAA,uBAEc,CAAC;MAAEG;IAAQ,CAAC,KAAK;MAC9B,IAAI,CAACC,KAAK,GAAGD,OAAO;IACtB,CAAC;IAAAH,eAAA,sBAEaK,MAAM,IAAI;MACtB,MAAM;QAAEN;MAAU,CAAC,GAAG,IAAI;MAC1B,IAAIA,SAAS,EAAE;QACb,MAAM;UAAEO,OAAO,EAAEC;QAAQ,CAAC,GAAG,IAAI,CAACN,MAAM,CAACO,eAAe,CAAC,CAAC;QAC1DT,SAAS,CAAC;UAAEM,MAAM;UAAEE;QAAQ,CAAC,CAAC;MAChC;IACF,CAAC;IAAAP,eAAA,qBAEYS,KAAK,IAAI;MACpB,IAAI,CAACC,WAAW,CAACd,aAAa,CAACe,KAAK,CAAC;IACvC,CAAC;IAAAX,eAAA,kBAESS,KAAK,IAAI;MACjB,IAAI,CAACC,WAAW,CAACd,aAAa,CAACgB,MAAM,CAAC;IACxC,CAAC;IAAAZ,eAAA,iBAEQS,KAAK,IAAI;MAChB,IAAI,CAACC,WAAW,CAACd,aAAa,CAACiB,OAAO,CAAC;IACzC,CAAC;IAvCC,IAAI,CAACZ,MAAM,GAAG,IAAI;IAClB,IAAI,CAACG,KAAK,GAAG,IAAI;IACjB,IAAI,CAACL,SAAS,GAAGA,UAAS;EAC5B;EAsCA,IAAIe,MAAMA,CAAA,EAAG;IACX,OAAO;MACLC,IAAI,EAAE,IAAI,CAACC,MAAM;MACjBC,KAAK,EAAE,IAAI,CAACC,OAAO;MACnBd,KAAK,EAAE,IAAI,CAACe,OAAO;MACnBC,QAAQ,EAAE,IAAI,CAACC,UAAU;MACzBC,UAAU,EAAE,IAAI,CAACA;IACnB,CAAC;EACH;AACF;AAEA,eAAezB,kBAAkB","ignoreList":[]}
@@ -1,12 +1,12 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
3
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
- import React from 'react';
4
+ import React, { useContext, useRef } from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import ReactJWPlayer from 'react-jw-player';
7
7
  import { JW_PLAYER_TYPE_FILE, VIDEO_WRAPPER_CLASS_NAME } from '../../../../constants';
8
8
  import JWPlayerController from './JWPlayerController';
9
- const PlayerController = new JWPlayerController();
9
+ import { VideoContext } from '../../VideoContext';
10
10
  const JWPlayerProvider = ({
11
11
  url,
12
12
  name,
@@ -18,16 +18,22 @@ const JWPlayerProvider = ({
18
18
  imageData,
19
19
  loop: repeat
20
20
  }) => {
21
+ const {
22
+ emitEvent
23
+ } = useContext(VideoContext);
24
+ const PlayerController = useRef(new JWPlayerController({
25
+ emitEvent
26
+ }));
21
27
  const handleOnReady = () => {
22
28
  const jwPlayer = window.jwplayer(name);
23
29
  if (jwPlayer) {
24
- PlayerController.setPlayer(jwPlayer);
30
+ PlayerController.current.setPlayer(jwPlayer);
25
31
  }
26
32
  };
27
33
  const getJWPlayerProps = () => {
28
34
  const {
29
35
  events
30
- } = PlayerController;
36
+ } = PlayerController.current;
31
37
  const props = {
32
38
  customProps: {
33
39
  repeat,
@@ -1 +1 @@
1
- {"version":3,"file":"JWPlayerProvider.js","names":["React","PropTypes","ReactJWPlayer","JW_PLAYER_TYPE_FILE","VIDEO_WRAPPER_CLASS_NAME","JWPlayerController","PlayerController","JWPlayerProvider","url","name","autoplay","controls","type","urlScript","muted","imageData","loop","repeat","handleOnReady","jwPlayer","window","jwplayer","setPlayer","getJWPlayerProps","events","props","customProps","playerScript","isAutoPlay","isMuted","playerId","onReady","className","imageURL","_objectSpread","image","file","playlist","createElement","propTypes","string","isRequired","imageId","bool","object","defaultProps"],"sources":["../../../../../src/components/Video/providers/JWPlayer/JWPlayerProvider.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ReactJWPlayer from 'react-jw-player';\nimport { JW_PLAYER_TYPE_FILE, VIDEO_WRAPPER_CLASS_NAME } from '../../../../constants';\nimport JWPlayerController from './JWPlayerController';\n\nconst PlayerController = new JWPlayerController();\n\nconst JWPlayerProvider = ({\n url,\n name,\n autoplay,\n controls,\n type,\n urlScript,\n muted,\n imageData,\n loop: repeat\n}) => {\n const handleOnReady = () => {\n const jwPlayer = window.jwplayer(name);\n if (jwPlayer) {\n PlayerController.setPlayer(jwPlayer);\n }\n };\n\n const getJWPlayerProps = () => {\n const { events } = PlayerController;\n\n const props = {\n customProps: { repeat, controls, events },\n playerScript: urlScript,\n isAutoPlay: autoplay,\n isMuted: muted,\n playerId: name,\n onReady: handleOnReady,\n className: VIDEO_WRAPPER_CLASS_NAME\n };\n\n if (type === JW_PLAYER_TYPE_FILE) {\n const { url: imageURL = '' } = imageData;\n return { ...props, image: imageURL, file: url };\n }\n\n return { ...props, playlist: url };\n };\n\n return <ReactJWPlayer {...getJWPlayerProps()} />;\n};\n\nJWPlayerProvider.propTypes = {\n url: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n urlScript: PropTypes.string.isRequired,\n imageId: PropTypes.string,\n autoplay: PropTypes.bool,\n loop: PropTypes.bool,\n controls: PropTypes.bool,\n muted: PropTypes.bool,\n type: PropTypes.string,\n imageData: PropTypes.object\n};\n\nJWPlayerProvider.defaultProps = {\n autoplay: false,\n loop: false,\n controls: true,\n muted: false,\n type: 'playlist',\n imageId: null,\n imageData: {}\n};\n\nexport default JWPlayerProvider;\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,SAASC,mBAAmB,EAAEC,wBAAwB,QAAQ,uBAAuB;AACrF,OAAOC,kBAAkB,MAAM,sBAAsB;AAErD,MAAMC,gBAAgB,GAAG,IAAID,kBAAkB,CAAC,CAAC;AAEjD,MAAME,gBAAgB,GAAGA,CAAC;EACxBC,GAAG;EACHC,IAAI;EACJC,QAAQ;EACRC,QAAQ;EACRC,IAAI;EACJC,SAAS;EACTC,KAAK;EACLC,SAAS;EACTC,IAAI,EAAEC;AACR,CAAC,KAAK;EACJ,MAAMC,aAAa,GAAGA,CAAA,KAAM;IAC1B,MAAMC,QAAQ,GAAGC,MAAM,CAACC,QAAQ,CAACZ,IAAI,CAAC;IACtC,IAAIU,QAAQ,EAAE;MACZb,gBAAgB,CAACgB,SAAS,CAACH,QAAQ,CAAC;IACtC;EACF,CAAC;EAED,MAAMI,gBAAgB,GAAGA,CAAA,KAAM;IAC7B,MAAM;MAAEC;IAAO,CAAC,GAAGlB,gBAAgB;IAEnC,MAAMmB,KAAK,GAAG;MACZC,WAAW,EAAE;QAAET,MAAM;QAAEN,QAAQ;QAAEa;MAAO,CAAC;MACzCG,YAAY,EAAEd,SAAS;MACvBe,UAAU,EAAElB,QAAQ;MACpBmB,OAAO,EAAEf,KAAK;MACdgB,QAAQ,EAAErB,IAAI;MACdsB,OAAO,EAAEb,aAAa;MACtBc,SAAS,EAAE5B;IACb,CAAC;IAED,IAAIQ,IAAI,KAAKT,mBAAmB,EAAE;MAChC,MAAM;QAAEK,GAAG,EAAEyB,QAAQ,GAAG;MAAG,CAAC,GAAGlB,SAAS;MACxC,OAAAmB,aAAA,CAAAA,aAAA,KAAYT,KAAK;QAAEU,KAAK,EAAEF,QAAQ;QAAEG,IAAI,EAAE5B;MAAG;IAC/C;IAEA,OAAA0B,aAAA,CAAAA,aAAA,KAAYT,KAAK;MAAEY,QAAQ,EAAE7B;IAAG;EAClC,CAAC;EAED,oBAAOR,KAAA,CAAAsC,aAAA,CAACpC,aAAa,EAAKqB,gBAAgB,CAAC,CAAI,CAAC;AAClD,CAAC;AAEDhB,gBAAgB,CAACgC,SAAS,GAAG;EAC3B/B,GAAG,EAAEP,SAAS,CAACuC,MAAM,CAACC,UAAU;EAChChC,IAAI,EAAER,SAAS,CAACuC,MAAM,CAACC,UAAU;EACjC5B,SAAS,EAAEZ,SAAS,CAACuC,MAAM,CAACC,UAAU;EACtCC,OAAO,EAAEzC,SAAS,CAACuC,MAAM;EACzB9B,QAAQ,EAAET,SAAS,CAAC0C,IAAI;EACxB3B,IAAI,EAAEf,SAAS,CAAC0C,IAAI;EACpBhC,QAAQ,EAAEV,SAAS,CAAC0C,IAAI;EACxB7B,KAAK,EAAEb,SAAS,CAAC0C,IAAI;EACrB/B,IAAI,EAAEX,SAAS,CAACuC,MAAM;EACtBzB,SAAS,EAAEd,SAAS,CAAC2C;AACvB,CAAC;AAEDrC,gBAAgB,CAACsC,YAAY,GAAG;EAC9BnC,QAAQ,EAAE,KAAK;EACfM,IAAI,EAAE,KAAK;EACXL,QAAQ,EAAE,IAAI;EACdG,KAAK,EAAE,KAAK;EACZF,IAAI,EAAE,UAAU;EAChB8B,OAAO,EAAE,IAAI;EACb3B,SAAS,EAAE,CAAC;AACd,CAAC;AAED,eAAeR,gBAAgB","ignoreList":[]}
1
+ {"version":3,"file":"JWPlayerProvider.js","names":["React","useContext","useRef","PropTypes","ReactJWPlayer","JW_PLAYER_TYPE_FILE","VIDEO_WRAPPER_CLASS_NAME","JWPlayerController","VideoContext","JWPlayerProvider","url","name","autoplay","controls","type","urlScript","muted","imageData","loop","repeat","emitEvent","PlayerController","handleOnReady","jwPlayer","window","jwplayer","current","setPlayer","getJWPlayerProps","events","props","customProps","playerScript","isAutoPlay","isMuted","playerId","onReady","className","imageURL","_objectSpread","image","file","playlist","createElement","propTypes","string","isRequired","imageId","bool","object","defaultProps"],"sources":["../../../../../src/components/Video/providers/JWPlayer/JWPlayerProvider.js"],"sourcesContent":["import React, { useContext, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport ReactJWPlayer from 'react-jw-player';\nimport { JW_PLAYER_TYPE_FILE, VIDEO_WRAPPER_CLASS_NAME } from '../../../../constants';\nimport JWPlayerController from './JWPlayerController';\nimport { VideoContext } from '../../VideoContext';\n\nconst JWPlayerProvider = ({\n url,\n name,\n autoplay,\n controls,\n type,\n urlScript,\n muted,\n imageData,\n loop: repeat\n}) => {\n const { emitEvent } = useContext(VideoContext);\n const PlayerController = useRef(new JWPlayerController({ emitEvent }));\n\n const handleOnReady = () => {\n const jwPlayer = window.jwplayer(name);\n if (jwPlayer) {\n PlayerController.current.setPlayer(jwPlayer);\n }\n };\n\n const getJWPlayerProps = () => {\n const { events } = PlayerController.current;\n\n const props = {\n customProps: { repeat, controls, events },\n playerScript: urlScript,\n isAutoPlay: autoplay,\n isMuted: muted,\n playerId: name,\n onReady: handleOnReady,\n className: VIDEO_WRAPPER_CLASS_NAME\n };\n\n if (type === JW_PLAYER_TYPE_FILE) {\n const { url: imageURL = '' } = imageData;\n return { ...props, image: imageURL, file: url };\n }\n\n return { ...props, playlist: url };\n };\n\n return <ReactJWPlayer {...getJWPlayerProps()} />;\n};\n\nJWPlayerProvider.propTypes = {\n url: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n urlScript: PropTypes.string.isRequired,\n imageId: PropTypes.string,\n autoplay: PropTypes.bool,\n loop: PropTypes.bool,\n controls: PropTypes.bool,\n muted: PropTypes.bool,\n type: PropTypes.string,\n imageData: PropTypes.object\n};\n\nJWPlayerProvider.defaultProps = {\n autoplay: false,\n loop: false,\n controls: true,\n muted: false,\n type: 'playlist',\n imageId: null,\n imageData: {}\n};\n\nexport default JWPlayerProvider;\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,MAAM,QAAQ,OAAO;AACjD,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,SAASC,mBAAmB,EAAEC,wBAAwB,QAAQ,uBAAuB;AACrF,OAAOC,kBAAkB,MAAM,sBAAsB;AACrD,SAASC,YAAY,QAAQ,oBAAoB;AAEjD,MAAMC,gBAAgB,GAAGA,CAAC;EACxBC,GAAG;EACHC,IAAI;EACJC,QAAQ;EACRC,QAAQ;EACRC,IAAI;EACJC,SAAS;EACTC,KAAK;EACLC,SAAS;EACTC,IAAI,EAAEC;AACR,CAAC,KAAK;EACJ,MAAM;IAAEC;EAAU,CAAC,GAAGnB,UAAU,CAACO,YAAY,CAAC;EAC9C,MAAMa,gBAAgB,GAAGnB,MAAM,CAAC,IAAIK,kBAAkB,CAAC;IAAEa;EAAU,CAAC,CAAC,CAAC;EAEtE,MAAME,aAAa,GAAGA,CAAA,KAAM;IAC1B,MAAMC,QAAQ,GAAGC,MAAM,CAACC,QAAQ,CAACd,IAAI,CAAC;IACtC,IAAIY,QAAQ,EAAE;MACZF,gBAAgB,CAACK,OAAO,CAACC,SAAS,CAACJ,QAAQ,CAAC;IAC9C;EACF,CAAC;EAED,MAAMK,gBAAgB,GAAGA,CAAA,KAAM;IAC7B,MAAM;MAAEC;IAAO,CAAC,GAAGR,gBAAgB,CAACK,OAAO;IAE3C,MAAMI,KAAK,GAAG;MACZC,WAAW,EAAE;QAAEZ,MAAM;QAAEN,QAAQ;QAAEgB;MAAO,CAAC;MACzCG,YAAY,EAAEjB,SAAS;MACvBkB,UAAU,EAAErB,QAAQ;MACpBsB,OAAO,EAAElB,KAAK;MACdmB,QAAQ,EAAExB,IAAI;MACdyB,OAAO,EAAEd,aAAa;MACtBe,SAAS,EAAE/B;IACb,CAAC;IAED,IAAIQ,IAAI,KAAKT,mBAAmB,EAAE;MAChC,MAAM;QAAEK,GAAG,EAAE4B,QAAQ,GAAG;MAAG,CAAC,GAAGrB,SAAS;MACxC,OAAAsB,aAAA,CAAAA,aAAA,KAAYT,KAAK;QAAEU,KAAK,EAAEF,QAAQ;QAAEG,IAAI,EAAE/B;MAAG;IAC/C;IAEA,OAAA6B,aAAA,CAAAA,aAAA,KAAYT,KAAK;MAAEY,QAAQ,EAAEhC;IAAG;EAClC,CAAC;EAED,oBAAOV,KAAA,CAAA2C,aAAA,CAACvC,aAAa,EAAKwB,gBAAgB,CAAC,CAAI,CAAC;AAClD,CAAC;AAEDnB,gBAAgB,CAACmC,SAAS,GAAG;EAC3BlC,GAAG,EAAEP,SAAS,CAAC0C,MAAM,CAACC,UAAU;EAChCnC,IAAI,EAAER,SAAS,CAAC0C,MAAM,CAACC,UAAU;EACjC/B,SAAS,EAAEZ,SAAS,CAAC0C,MAAM,CAACC,UAAU;EACtCC,OAAO,EAAE5C,SAAS,CAAC0C,MAAM;EACzBjC,QAAQ,EAAET,SAAS,CAAC6C,IAAI;EACxB9B,IAAI,EAAEf,SAAS,CAAC6C,IAAI;EACpBnC,QAAQ,EAAEV,SAAS,CAAC6C,IAAI;EACxBhC,KAAK,EAAEb,SAAS,CAAC6C,IAAI;EACrBlC,IAAI,EAAEX,SAAS,CAAC0C,MAAM;EACtB5B,SAAS,EAAEd,SAAS,CAAC8C;AACvB,CAAC;AAEDxC,gBAAgB,CAACyC,YAAY,GAAG;EAC9BtC,QAAQ,EAAE,KAAK;EACfM,IAAI,EAAE,KAAK;EACXL,QAAQ,EAAE,IAAI;EACdG,KAAK,EAAE,KAAK;EACZF,IAAI,EAAE,UAAU;EAChBiC,OAAO,EAAE,IAAI;EACb9B,SAAS,EAAE,CAAC;AACd,CAAC;AAED,eAAeR,gBAAgB","ignoreList":[]}
@@ -1,8 +1,11 @@
1
- import React, { useState, useEffect } from 'react';
1
+ import React, { useState, useEffect, useContext, useRef } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { useInView } from '@blaze-react/utils/lib/customHooks';
4
4
  import { IN_VIEW_CONFIG } from '../../../../constants';
5
5
  import { getPosterUrl, YT_HQ_FORMAT, YT_IMAGE_URL } from './helpers';
6
+ import { VideoContext } from '../../VideoContext';
7
+ import { EVENT_ACTIONS } from '../../constants';
8
+ const SCRIPT_ID = 'youtube-iframe-api';
6
9
  const YoutubeEmbeded = ({
7
10
  autoplay,
8
11
  videoId,
@@ -22,6 +25,11 @@ const YoutubeEmbeded = ({
22
25
  placeholderOnly,
23
26
  imageData
24
27
  }) => {
28
+ const ref = useRef(null);
29
+ const playerRef = useRef(null);
30
+ const {
31
+ emitEvent
32
+ } = useContext(VideoContext);
25
33
  const [isIntersecting, outerRef] = useInView(IN_VIEW_CONFIG);
26
34
  const [preconnected, setPreconnected] = useState(false);
27
35
  const [renderIframe, setRenderIframe] = useState(!!autoplay);
@@ -44,8 +52,56 @@ const YoutubeEmbeded = ({
44
52
  webp
45
53
  });
46
54
  const mutedValue = muted ? '&mute=1' : '';
47
- const iframeSrc = !playlist ? `${ytUrl}/embed/${encodedId}?autoplay=1${mutedValue}${paramsImp}` : `${ytUrl}/embed/videoseries?autoplay=1${mutedValue}&list=${encodedId}${paramsImp}`;
55
+ let iframeSrc = !playlist ? `${ytUrl}/embed/${encodedId}?autoplay=1${mutedValue}${paramsImp}` : `${ytUrl}/embed/videoseries?autoplay=1${mutedValue}&list=${encodedId}${paramsImp}`;
56
+ if (emitEvent) {
57
+ iframeSrc += `&enablejsapi=1`;
58
+ }
48
59
  const parsedWrapperClassname = `yt-facade ${renderIframe ? 'yt-activated' : ''}`;
60
+ const iframeId = `yt-iframe-${videoId}`;
61
+ useEffect(() => {
62
+ if (!emitEvent || !renderIframe) return;
63
+ if (!document.getElementById(SCRIPT_ID)) {
64
+ // if script not already loaded
65
+ const tag = document.createElement('script');
66
+ tag.id = SCRIPT_ID;
67
+ tag.src = 'https://www.youtube.com/iframe_api';
68
+ const firstScriptTag = document.getElementsByTagName('script')[0];
69
+ firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
70
+ }
71
+ const onStateChange = event => {
72
+ let action = '';
73
+ if (event.data === window.YT.PlayerState.ENDED) {
74
+ action = EVENT_ACTIONS.ENDED;
75
+ } else if (event.data === window.YT.PlayerState.PAUSED) {
76
+ action = EVENT_ACTIONS.PAUSED;
77
+ } else if (event.data === window.YT.PlayerState.PLAYING) {
78
+ action = EVENT_ACTIONS.PLAYING;
79
+ }
80
+ emitEvent({
81
+ action,
82
+ videoId
83
+ });
84
+ };
85
+ if (window.YT) {
86
+ // if script already loaded then attach player
87
+ window.YT.ready(() => {
88
+ playerRef.current = new window.YT.Player(iframeId, {
89
+ events: {
90
+ onStateChange
91
+ }
92
+ });
93
+ });
94
+ } else {
95
+ // called on script load
96
+ window.onYouTubeIframeAPIReady = () => {
97
+ playerRef.current = new window.YT.Player(ref.current, {
98
+ events: {
99
+ onStateChange
100
+ }
101
+ });
102
+ };
103
+ }
104
+ }, [emitEvent, iframeId, renderIframe, videoId]);
49
105
  useEffect(() => {
50
106
  let isMounted = true;
51
107
  if (!priority && !isIntersecting || imageSize === YT_HQ_FORMAT) return;
@@ -106,6 +162,8 @@ const YoutubeEmbeded = ({
106
162
  }, /*#__PURE__*/React.createElement("div", {
107
163
  className: "yt-facade-button"
108
164
  })), renderIframe && /*#__PURE__*/React.createElement("iframe", {
165
+ ref: ref,
166
+ id: iframeId,
109
167
  className: iframeClass,
110
168
  title: videoTitle,
111
169
  allow: "accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",
@@ -1 +1 @@
1
- {"version":3,"file":"YoutubeEmbeded.js","names":["React","useState","useEffect","PropTypes","useInView","IN_VIEW_CONFIG","getPosterUrl","YT_HQ_FORMAT","YT_IMAGE_URL","YoutubeEmbeded","autoplay","videoId","playlistCoverId","videoTitle","poster","videoParams","announce","noCookie","webp","playlist","onIframeAdded","muted","adNetwork","iframeClass","priority","placeholderOnly","imageData","isIntersecting","outerRef","preconnected","setPreconnected","renderIframe","setRenderIframe","imageSize","displayImage","setImageDetails","encodedId","encodeURIComponent","paramsImp","ytUrl","posterUrl","mutedValue","iframeSrc","parsedWrapperClassname","isMounted","img","Image","onload","newImageSize","width","src","warmConnections","addIframe","createElement","Fragment","rel","href","ref","role","onPointerOver","onClick","className","style","backgroundImage","type","title","allow","allowFullScreen","propTypes","bool","func","string","object","defaultProps"],"sources":["../../../../../src/components/Video/providers/YouTube/YoutubeEmbeded.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { useInView } from '@blaze-react/utils/lib/customHooks';\nimport { IN_VIEW_CONFIG } from '../../../../constants';\nimport { getPosterUrl, YT_HQ_FORMAT, YT_IMAGE_URL } from './helpers';\n\nconst YoutubeEmbeded = ({\n autoplay,\n videoId,\n playlistCoverId,\n videoTitle,\n poster,\n videoParams,\n announce,\n noCookie,\n webp,\n playlist,\n onIframeAdded,\n muted,\n adNetwork,\n iframeClass,\n priority,\n placeholderOnly,\n imageData\n}) => {\n const [isIntersecting, outerRef] = useInView(IN_VIEW_CONFIG);\n const [preconnected, setPreconnected] = useState(false);\n const [renderIframe, setRenderIframe] = useState(!!autoplay);\n const [{ imageSize, displayImage }, setImageDetails] = useState({\n imageSize: poster,\n displayImage: priority\n });\n\n const encodedId = encodeURIComponent(videoId);\n const paramsImp = videoParams ? `&${videoParams}` : '';\n const ytUrl = noCookie ? 'https://www.youtube-nocookie.com' : 'https://www.youtube.com';\n const posterUrl = getPosterUrl({\n imageData,\n playlistCoverId,\n playlist,\n encodedId,\n imageSize,\n webp\n });\n const mutedValue = muted ? '&mute=1' : '';\n const iframeSrc = !playlist\n ? `${ytUrl}/embed/${encodedId}?autoplay=1${mutedValue}${paramsImp}`\n : `${ytUrl}/embed/videoseries?autoplay=1${mutedValue}&list=${encodedId}${paramsImp}`;\n const parsedWrapperClassname = `yt-facade ${renderIframe ? 'yt-activated' : ''}`;\n\n useEffect(\n () => {\n let isMounted = true;\n if ((!priority && !isIntersecting) || imageSize === YT_HQ_FORMAT) return;\n\n const img = new Image();\n // eslint-disable-next-line func-names\n img.onload = function() {\n let newImageSize = imageSize;\n if (this && this.width === 120) newImageSize = YT_HQ_FORMAT;\n if (isMounted) setImageDetails({ imageSize: newImageSize, displayImage: true });\n };\n\n img.src = posterUrl;\n return () => {\n isMounted = false;\n };\n },\n [imageSize, isIntersecting, posterUrl, priority]\n );\n\n const warmConnections = () => {\n if (preconnected) return;\n setPreconnected(true);\n };\n\n const addIframe = () => {\n if (renderIframe || placeholderOnly) return;\n onIframeAdded();\n setRenderIframe(true);\n };\n\n return (\n <>\n {preconnected && (\n <>\n <link rel=\"preconnect\" href={YT_IMAGE_URL} />\n <link rel=\"preconnect\" href={ytUrl} />\n <link rel=\"preconnect\" href=\"https://www.google.com\" />\n {adNetwork && (\n <>\n <link rel=\"preconnect\" href=\"https://static.doubleclick.net\" />\n <link rel=\"preconnect\" href=\"https://googleads.g.doubleclick.net\" />\n </>\n )}\n </>\n )}\n <div\n ref={outerRef}\n role=\"button\"\n onPointerOver={warmConnections}\n onClick={addIframe}\n className={parsedWrapperClassname}\n data-title={videoTitle}\n aria-label={`View ${videoTitle || 'video'}`}\n style={{\n backgroundImage: `url(${displayImage ? posterUrl : ''})`\n }}>\n <div\n type=\"button\"\n className=\"yt-facade-button-wrapper\"\n aria-label={`${announce} ${videoTitle}`}>\n <div className=\"yt-facade-button\" />\n </div>\n {renderIframe && (\n <iframe\n className={iframeClass}\n title={videoTitle}\n allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n allowFullScreen\n src={iframeSrc}\n />\n )}\n </div>\n </>\n );\n};\n\nYoutubeEmbeded.propTypes = {\n priority: PropTypes.bool,\n onIframeAdded: PropTypes.func,\n adNetwork: PropTypes.bool,\n autoplay: PropTypes.bool,\n playlist: PropTypes.bool,\n muted: PropTypes.bool,\n webp: PropTypes.bool,\n noCookie: PropTypes.bool,\n videoId: PropTypes.string,\n iframeClass: PropTypes.string,\n poster: PropTypes.string,\n announce: PropTypes.string,\n playlistCoverId: PropTypes.string,\n videoParams: PropTypes.string,\n videoTitle: PropTypes.string,\n placeholderOnly: PropTypes.bool,\n imageData: PropTypes.object\n};\n\nYoutubeEmbeded.defaultProps = {\n priority: true,\n onIframeAdded: () => {},\n adNetwork: false,\n autoplay: false,\n playlist: false,\n muted: false,\n webp: false,\n noCookie: false,\n iframeClass: '',\n poster: 'sddefault',\n announce: 'Watch',\n videoId: '',\n playlistCoverId: '',\n videoParams: '',\n videoTitle: '',\n placeholderOnly: false,\n imageData: {}\n};\n\nexport default YoutubeEmbeded;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"YoutubeEmbeded.js","names":["React","useState","useEffect","useContext","useRef","PropTypes","useInView","IN_VIEW_CONFIG","getPosterUrl","YT_HQ_FORMAT","YT_IMAGE_URL","VideoContext","EVENT_ACTIONS","SCRIPT_ID","YoutubeEmbeded","autoplay","videoId","playlistCoverId","videoTitle","poster","videoParams","announce","noCookie","webp","playlist","onIframeAdded","muted","adNetwork","iframeClass","priority","placeholderOnly","imageData","ref","playerRef","emitEvent","isIntersecting","outerRef","preconnected","setPreconnected","renderIframe","setRenderIframe","imageSize","displayImage","setImageDetails","encodedId","encodeURIComponent","paramsImp","ytUrl","posterUrl","mutedValue","iframeSrc","parsedWrapperClassname","iframeId","document","getElementById","tag","createElement","id","src","firstScriptTag","getElementsByTagName","parentNode","insertBefore","onStateChange","event","action","data","window","YT","PlayerState","ENDED","PAUSED","PLAYING","ready","current","Player","events","onYouTubeIframeAPIReady","isMounted","img","Image","onload","newImageSize","width","warmConnections","addIframe","Fragment","rel","href","role","onPointerOver","onClick","className","style","backgroundImage","type","title","allow","allowFullScreen","propTypes","bool","func","string","object","defaultProps"],"sources":["../../../../../src/components/Video/providers/YouTube/YoutubeEmbeded.js"],"sourcesContent":["import React, { useState, useEffect, useContext, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { useInView } from '@blaze-react/utils/lib/customHooks';\nimport { IN_VIEW_CONFIG } from '../../../../constants';\nimport { getPosterUrl, YT_HQ_FORMAT, YT_IMAGE_URL } from './helpers';\nimport { VideoContext } from '../../VideoContext';\nimport { EVENT_ACTIONS } from '../../constants';\n\nconst SCRIPT_ID = 'youtube-iframe-api';\n\nconst YoutubeEmbeded = ({\n autoplay,\n videoId,\n playlistCoverId,\n videoTitle,\n poster,\n videoParams,\n announce,\n noCookie,\n webp,\n playlist,\n onIframeAdded,\n muted,\n adNetwork,\n iframeClass,\n priority,\n placeholderOnly,\n imageData\n}) => {\n const ref = useRef(null);\n const playerRef = useRef(null);\n const { emitEvent } = useContext(VideoContext);\n const [isIntersecting, outerRef] = useInView(IN_VIEW_CONFIG);\n const [preconnected, setPreconnected] = useState(false);\n const [renderIframe, setRenderIframe] = useState(!!autoplay);\n const [{ imageSize, displayImage }, setImageDetails] = useState({\n imageSize: poster,\n displayImage: priority\n });\n\n const encodedId = encodeURIComponent(videoId);\n const paramsImp = videoParams ? `&${videoParams}` : '';\n const ytUrl = noCookie ? 'https://www.youtube-nocookie.com' : 'https://www.youtube.com';\n const posterUrl = getPosterUrl({\n imageData,\n playlistCoverId,\n playlist,\n encodedId,\n imageSize,\n webp\n });\n const mutedValue = muted ? '&mute=1' : '';\n let iframeSrc = !playlist\n ? `${ytUrl}/embed/${encodedId}?autoplay=1${mutedValue}${paramsImp}`\n : `${ytUrl}/embed/videoseries?autoplay=1${mutedValue}&list=${encodedId}${paramsImp}`;\n if (emitEvent) {\n iframeSrc += `&enablejsapi=1`;\n }\n\n const parsedWrapperClassname = `yt-facade ${renderIframe ? 'yt-activated' : ''}`;\n const iframeId = `yt-iframe-${videoId}`;\n\n useEffect(\n () => {\n if (!emitEvent || !renderIframe) return;\n\n if (!document.getElementById(SCRIPT_ID)) {\n // if script not already loaded\n const tag = document.createElement('script');\n tag.id = SCRIPT_ID;\n tag.src = 'https://www.youtube.com/iframe_api';\n const firstScriptTag = document.getElementsByTagName('script')[0];\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n }\n\n const onStateChange = event => {\n let action = '';\n if (event.data === window.YT.PlayerState.ENDED) {\n action = EVENT_ACTIONS.ENDED;\n } else if (event.data === window.YT.PlayerState.PAUSED) {\n action = EVENT_ACTIONS.PAUSED;\n } else if (event.data === window.YT.PlayerState.PLAYING) {\n action = EVENT_ACTIONS.PLAYING;\n }\n\n emitEvent({ action, videoId });\n };\n\n if (window.YT) {\n // if script already loaded then attach player\n window.YT.ready(() => {\n playerRef.current = new window.YT.Player(iframeId, {\n events: {\n onStateChange\n }\n });\n });\n } else {\n // called on script load\n window.onYouTubeIframeAPIReady = () => {\n playerRef.current = new window.YT.Player(ref.current, {\n events: {\n onStateChange\n }\n });\n };\n }\n },\n [emitEvent, iframeId, renderIframe, videoId]\n );\n\n useEffect(\n () => {\n let isMounted = true;\n if ((!priority && !isIntersecting) || imageSize === YT_HQ_FORMAT) return;\n\n const img = new Image();\n // eslint-disable-next-line func-names\n img.onload = function() {\n let newImageSize = imageSize;\n if (this && this.width === 120) newImageSize = YT_HQ_FORMAT;\n if (isMounted) setImageDetails({ imageSize: newImageSize, displayImage: true });\n };\n\n img.src = posterUrl;\n return () => {\n isMounted = false;\n };\n },\n [imageSize, isIntersecting, posterUrl, priority]\n );\n\n const warmConnections = () => {\n if (preconnected) return;\n setPreconnected(true);\n };\n\n const addIframe = () => {\n if (renderIframe || placeholderOnly) return;\n onIframeAdded();\n setRenderIframe(true);\n };\n\n return (\n <>\n {preconnected && (\n <>\n <link rel=\"preconnect\" href={YT_IMAGE_URL} />\n <link rel=\"preconnect\" href={ytUrl} />\n <link rel=\"preconnect\" href=\"https://www.google.com\" />\n {adNetwork && (\n <>\n <link rel=\"preconnect\" href=\"https://static.doubleclick.net\" />\n <link rel=\"preconnect\" href=\"https://googleads.g.doubleclick.net\" />\n </>\n )}\n </>\n )}\n <div\n ref={outerRef}\n role=\"button\"\n onPointerOver={warmConnections}\n onClick={addIframe}\n className={parsedWrapperClassname}\n data-title={videoTitle}\n aria-label={`View ${videoTitle || 'video'}`}\n style={{\n backgroundImage: `url(${displayImage ? posterUrl : ''})`\n }}>\n <div\n type=\"button\"\n className=\"yt-facade-button-wrapper\"\n aria-label={`${announce} ${videoTitle}`}>\n <div className=\"yt-facade-button\" />\n </div>\n {renderIframe && (\n <iframe\n ref={ref}\n id={iframeId}\n className={iframeClass}\n title={videoTitle}\n allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n allowFullScreen\n src={iframeSrc}\n />\n )}\n </div>\n </>\n );\n};\n\nYoutubeEmbeded.propTypes = {\n priority: PropTypes.bool,\n onIframeAdded: PropTypes.func,\n adNetwork: PropTypes.bool,\n autoplay: PropTypes.bool,\n playlist: PropTypes.bool,\n muted: PropTypes.bool,\n webp: PropTypes.bool,\n noCookie: PropTypes.bool,\n videoId: PropTypes.string,\n iframeClass: PropTypes.string,\n poster: PropTypes.string,\n announce: PropTypes.string,\n playlistCoverId: PropTypes.string,\n videoParams: PropTypes.string,\n videoTitle: PropTypes.string,\n placeholderOnly: PropTypes.bool,\n imageData: PropTypes.object\n};\n\nYoutubeEmbeded.defaultProps = {\n priority: true,\n onIframeAdded: () => {},\n adNetwork: false,\n autoplay: false,\n playlist: false,\n muted: false,\n webp: false,\n noCookie: false,\n iframeClass: '',\n poster: 'sddefault',\n announce: 'Watch',\n videoId: '',\n playlistCoverId: '',\n videoParams: '',\n videoTitle: '',\n placeholderOnly: false,\n imageData: {}\n};\n\nexport default YoutubeEmbeded;\n"],"mappings":"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","ignoreList":[]}
@@ -47,9 +47,8 @@ const buildFiltersQuery = ({
47
47
  queryKeys,
48
48
  query
49
49
  }) => {
50
- if (!shouldAddFilters) return [];
51
50
  const mustFilters = [];
52
- if (query) {
51
+ if (shouldAddFilters && query) {
53
52
  Object.keys(query).forEach(queryKey => {
54
53
  if (QUERY_KEYS_TO_IGNORE.includes(queryKey)) return;
55
54
  if (!queryKey || !query[queryKey]) return;
@@ -1 +1 @@
1
- {"version":3,"file":"build-filters-query.js","names":["QUERY_KEYS_TO_IGNORE","builFilterObject","queryKey","value","filters","isRange","isInQuery","min","minValue","max","maxValue","push","range","gte","Number","lte","key","isArray","Array","singleFilterObj","match","forEach","filterValue","buildFiltersQuery","shouldAddFilters","filterBy","filterByProperty","rangeValues","queryKeys","query","mustFilters","Object","keys","includes","queryValue","length","filterByPropOption","filterByPropKey","split","filterByOption","indexOf","filteryByValue","filterByKeyword"],"sources":["../../src/helpers/build-filters-query.js"],"sourcesContent":["const QUERY_KEYS_TO_IGNORE = ['dataNotSet', 'shouldSearch', 'search_term'];\n\nconst builFilterObject = ({ queryKey, value, filters, isRange, isInQuery }) => {\n if (isRange) {\n // don't add to query if value matches range values\n if (isInQuery || (value.min !== value.minValue && value.max !== value.maxValue)) {\n filters.push({\n range: {\n [queryKey]: {\n gte: Number(value.minValue),\n lte: Number(value.maxValue)\n }\n }\n });\n }\n return;\n }\n\n const key = isRange ? queryKey : `${queryKey}.keyword`;\n\n const isArray = Array.isArray(value);\n if (!isArray) {\n const singleFilterObj = { match: { [key]: value } };\n filters.push(singleFilterObj);\n return;\n }\n\n value.forEach(filterValue => {\n filters.push({ match: { [key]: filterValue } });\n });\n};\n\nconst buildFiltersQuery = ({\n shouldAddFilters,\n\n filterBy,\n filterByProperty,\n rangeValues,\n queryKeys,\n query\n}) => {\n if (!shouldAddFilters) return [];\n const mustFilters = [];\n if (query) {\n Object.keys(query).forEach(queryKey => {\n if (QUERY_KEYS_TO_IGNORE.includes(queryKey)) return;\n if (!queryKey || !query[queryKey]) return;\n const queryValue = query[queryKey];\n\n const isRange = rangeValues.includes(queryKey);\n const isInQuery = queryKeys.includes(queryKey);\n builFilterObject({ queryKey, value: queryValue, filters: mustFilters, isRange, isInQuery });\n });\n }\n\n if (filterByProperty && filterByProperty.length) {\n filterByProperty.forEach(filterByPropOption => {\n const [filterByPropKey] = filterByPropOption.split('/');\n filterBy.forEach(filterByOption => {\n if (filterByOption.indexOf(filterByPropKey) === -1) return;\n const [, filteryByValue] = filterByOption.split('/');\n const filterByKeyword = `${filterByPropKey}.keyword`;\n if (!filteryByValue) return;\n mustFilters.push({ match: { [filterByKeyword]: filteryByValue } });\n });\n });\n }\n\n return mustFilters;\n};\n\nexport default buildFiltersQuery;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"build-filters-query.js","names":["QUERY_KEYS_TO_IGNORE","builFilterObject","queryKey","value","filters","isRange","isInQuery","min","minValue","max","maxValue","push","range","gte","Number","lte","key","isArray","Array","singleFilterObj","match","forEach","filterValue","buildFiltersQuery","shouldAddFilters","filterBy","filterByProperty","rangeValues","queryKeys","query","mustFilters","Object","keys","includes","queryValue","length","filterByPropOption","filterByPropKey","split","filterByOption","indexOf","filteryByValue","filterByKeyword"],"sources":["../../src/helpers/build-filters-query.js"],"sourcesContent":["const QUERY_KEYS_TO_IGNORE = ['dataNotSet', 'shouldSearch', 'search_term'];\n\nconst builFilterObject = ({ queryKey, value, filters, isRange, isInQuery }) => {\n if (isRange) {\n // don't add to query if value matches range values\n if (isInQuery || (value.min !== value.minValue && value.max !== value.maxValue)) {\n filters.push({\n range: {\n [queryKey]: {\n gte: Number(value.minValue),\n lte: Number(value.maxValue)\n }\n }\n });\n }\n return;\n }\n\n const key = isRange ? queryKey : `${queryKey}.keyword`;\n\n const isArray = Array.isArray(value);\n if (!isArray) {\n const singleFilterObj = { match: { [key]: value } };\n filters.push(singleFilterObj);\n return;\n }\n\n value.forEach(filterValue => {\n filters.push({ match: { [key]: filterValue } });\n });\n};\n\nconst buildFiltersQuery = ({\n shouldAddFilters,\n filterBy,\n filterByProperty,\n rangeValues,\n queryKeys,\n query\n}) => {\n const mustFilters = [];\n if (shouldAddFilters && query) {\n Object.keys(query).forEach(queryKey => {\n if (QUERY_KEYS_TO_IGNORE.includes(queryKey)) return;\n if (!queryKey || !query[queryKey]) return;\n const queryValue = query[queryKey];\n\n const isRange = rangeValues.includes(queryKey);\n const isInQuery = queryKeys.includes(queryKey);\n builFilterObject({ queryKey, value: queryValue, filters: mustFilters, isRange, isInQuery });\n });\n }\n\n if (filterByProperty && filterByProperty.length) {\n filterByProperty.forEach(filterByPropOption => {\n const [filterByPropKey] = filterByPropOption.split('/');\n filterBy.forEach(filterByOption => {\n if (filterByOption.indexOf(filterByPropKey) === -1) return;\n const [, filteryByValue] = filterByOption.split('/');\n const filterByKeyword = `${filterByPropKey}.keyword`;\n if (!filteryByValue) return;\n mustFilters.push({ match: { [filterByKeyword]: filteryByValue } });\n });\n });\n }\n\n return mustFilters;\n};\n\nexport default buildFiltersQuery;\n"],"mappings":"AAAA,MAAMA,oBAAoB,GAAG,CAAC,YAAY,EAAE,cAAc,EAAE,aAAa,CAAC;AAE1E,MAAMC,gBAAgB,GAAGA,CAAC;EAAEC,QAAQ;EAAEC,KAAK;EAAEC,OAAO;EAAEC,OAAO;EAAEC;AAAU,CAAC,KAAK;EAC7E,IAAID,OAAO,EAAE;IACX;IACA,IAAIC,SAAS,IAAKH,KAAK,CAACI,GAAG,KAAKJ,KAAK,CAACK,QAAQ,IAAIL,KAAK,CAACM,GAAG,KAAKN,KAAK,CAACO,QAAS,EAAE;MAC/EN,OAAO,CAACO,IAAI,CAAC;QACXC,KAAK,EAAE;UACL,CAACV,QAAQ,GAAG;YACVW,GAAG,EAAEC,MAAM,CAACX,KAAK,CAACK,QAAQ,CAAC;YAC3BO,GAAG,EAAED,MAAM,CAACX,KAAK,CAACO,QAAQ;UAC5B;QACF;MACF,CAAC,CAAC;IACJ;IACA;EACF;EAEA,MAAMM,GAAG,GAAGX,OAAO,GAAGH,QAAQ,GAAI,GAAEA,QAAS,UAAS;EAEtD,MAAMe,OAAO,GAAGC,KAAK,CAACD,OAAO,CAACd,KAAK,CAAC;EACpC,IAAI,CAACc,OAAO,EAAE;IACZ,MAAME,eAAe,GAAG;MAAEC,KAAK,EAAE;QAAE,CAACJ,GAAG,GAAGb;MAAM;IAAE,CAAC;IACnDC,OAAO,CAACO,IAAI,CAACQ,eAAe,CAAC;IAC7B;EACF;EAEAhB,KAAK,CAACkB,OAAO,CAACC,WAAW,IAAI;IAC3BlB,OAAO,CAACO,IAAI,CAAC;MAAES,KAAK,EAAE;QAAE,CAACJ,GAAG,GAAGM;MAAY;IAAE,CAAC,CAAC;EACjD,CAAC,CAAC;AACJ,CAAC;AAED,MAAMC,iBAAiB,GAAGA,CAAC;EACzBC,gBAAgB;EAChBC,QAAQ;EACRC,gBAAgB;EAChBC,WAAW;EACXC,SAAS;EACTC;AACF,CAAC,KAAK;EACJ,MAAMC,WAAW,GAAG,EAAE;EACtB,IAAIN,gBAAgB,IAAIK,KAAK,EAAE;IAC7BE,MAAM,CAACC,IAAI,CAACH,KAAK,CAAC,CAACR,OAAO,CAACnB,QAAQ,IAAI;MACrC,IAAIF,oBAAoB,CAACiC,QAAQ,CAAC/B,QAAQ,CAAC,EAAE;MAC7C,IAAI,CAACA,QAAQ,IAAI,CAAC2B,KAAK,CAAC3B,QAAQ,CAAC,EAAE;MACnC,MAAMgC,UAAU,GAAGL,KAAK,CAAC3B,QAAQ,CAAC;MAElC,MAAMG,OAAO,GAAGsB,WAAW,CAACM,QAAQ,CAAC/B,QAAQ,CAAC;MAC9C,MAAMI,SAAS,GAAGsB,SAAS,CAACK,QAAQ,CAAC/B,QAAQ,CAAC;MAC9CD,gBAAgB,CAAC;QAAEC,QAAQ;QAAEC,KAAK,EAAE+B,UAAU;QAAE9B,OAAO,EAAE0B,WAAW;QAAEzB,OAAO;QAAEC;MAAU,CAAC,CAAC;IAC7F,CAAC,CAAC;EACJ;EAEA,IAAIoB,gBAAgB,IAAIA,gBAAgB,CAACS,MAAM,EAAE;IAC/CT,gBAAgB,CAACL,OAAO,CAACe,kBAAkB,IAAI;MAC7C,MAAM,CAACC,eAAe,CAAC,GAAGD,kBAAkB,CAACE,KAAK,CAAC,GAAG,CAAC;MACvDb,QAAQ,CAACJ,OAAO,CAACkB,cAAc,IAAI;QACjC,IAAIA,cAAc,CAACC,OAAO,CAACH,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE;QACpD,MAAM,GAAGI,cAAc,CAAC,GAAGF,cAAc,CAACD,KAAK,CAAC,GAAG,CAAC;QACpD,MAAMI,eAAe,GAAI,GAAEL,eAAgB,UAAS;QACpD,IAAI,CAACI,cAAc,EAAE;QACrBX,WAAW,CAACnB,IAAI,CAAC;UAAES,KAAK,EAAE;YAAE,CAACsB,eAAe,GAAGD;UAAe;QAAE,CAAC,CAAC;MACpE,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;EAEA,OAAOX,WAAW;AACpB,CAAC;AAED,eAAeP,iBAAiB","ignoreList":[]}
@@ -2,8 +2,10 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
3
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
4
  import { getStringTypeProps } from '@blaze-cms/utils/src/helpers';
5
- import { getGenericRenderVariables, buildRawQueryBase, buildSetFilters } from '../../../helpers';
6
- import { DEFAULT_LIMIT } from '../../../constants';
5
+ import getGenericRenderVariables from './get-generic-render-variables';
6
+ import buildRawQueryBase from './build-raw-query-base';
7
+ import buildSetFilters from './build-set-filters';
8
+ import { DEFAULT_LIMIT } from '../constants';
7
9
  const filterQuerySetup = ({
8
10
  getEntitySchemas,
9
11
  entity,
@@ -15,7 +17,7 @@ const filterQuerySetup = ({
15
17
  itemsToDisplay,
16
18
  entitySameAsCurrentItemEntity,
17
19
  entitySchema,
18
- useRandomSort
20
+ useRandomSort = false
19
21
  }) => {
20
22
  const stringProps = getStringTypeProps(entity, filterEntityRelations, getEntitySchemas);
21
23
  const filterValues = updatedFilterBy && updatedFilterBy.length ? buildSetFilters(_objectSpread(_objectSpread({}, variableProps), {}, {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-query-setup.js","names":["getStringTypeProps","getGenericRenderVariables","buildRawQueryBase","buildSetFilters","DEFAULT_LIMIT","filterQuerySetup","getEntitySchemas","entity","updatedFilterBy","variableProps","docType","filterOperator","filterEntityRelations","itemsToDisplay","entitySameAsCurrentItemEntity","entitySchema","useRandomSort","stringProps","filterValues","length","_objectSpread","filterBy","rawQuery","bool","relations","addListFiltersToQuery","limit","settingsLimit","requestLimit","Number","variables","filterProps"],"sources":["../../src/helpers/filter-query-setup.js"],"sourcesContent":["import { getStringTypeProps } from '@blaze-cms/utils/src/helpers';\nimport getGenericRenderVariables from './get-generic-render-variables';\nimport buildRawQueryBase from './build-raw-query-base';\nimport buildSetFilters from './build-set-filters';\nimport { DEFAULT_LIMIT } from '../constants';\n\nconst filterQuerySetup = ({\n getEntitySchemas,\n entity,\n updatedFilterBy,\n variableProps,\n docType,\n filterOperator,\n filterEntityRelations,\n itemsToDisplay,\n entitySameAsCurrentItemEntity,\n entitySchema,\n useRandomSort = false\n}) => {\n const stringProps = getStringTypeProps(entity, filterEntityRelations, getEntitySchemas);\n const filterValues =\n updatedFilterBy && updatedFilterBy.length\n ? buildSetFilters({ ...variableProps, filterBy: updatedFilterBy })\n : buildSetFilters(variableProps);\n\n const rawQuery = {\n bool: buildRawQueryBase({\n docType,\n filterValues,\n filterOperator,\n relations: filterEntityRelations,\n stringProps,\n itemsToDisplay,\n addListFiltersToQuery: true,\n entity,\n entitySchema\n })\n };\n\n // increase limit to get extra item in case results contain current parent\n const { limit: settingsLimit } = variableProps;\n const limit = settingsLimit || DEFAULT_LIMIT; // all falsey should use default\n const requestLimit = entitySameAsCurrentItemEntity ? Number(limit) + 1 : limit;\n const variables = getGenericRenderVariables({\n relations: filterEntityRelations,\n filterProps: { ...variableProps, limit: requestLimit },\n stringProps,\n rawQuery,\n useRandomSort\n });\n\n return { variables, limit };\n};\n\nexport default filterQuerySetup;\n"],"mappings":";;;AAAA,SAASA,kBAAkB,QAAQ,8BAA8B;AACjE,OAAOC,yBAAyB,MAAM,gCAAgC;AACtE,OAAOC,iBAAiB,MAAM,wBAAwB;AACtD,OAAOC,eAAe,MAAM,qBAAqB;AACjD,SAASC,aAAa,QAAQ,cAAc;AAE5C,MAAMC,gBAAgB,GAAGA,CAAC;EACxBC,gBAAgB;EAChBC,MAAM;EACNC,eAAe;EACfC,aAAa;EACbC,OAAO;EACPC,cAAc;EACdC,qBAAqB;EACrBC,cAAc;EACdC,6BAA6B;EAC7BC,YAAY;EACZC,aAAa,GAAG;AAClB,CAAC,KAAK;EACJ,MAAMC,WAAW,GAAGjB,kBAAkB,CAACO,MAAM,EAAEK,qBAAqB,EAAEN,gBAAgB,CAAC;EACvF,MAAMY,YAAY,GAChBV,eAAe,IAAIA,eAAe,CAACW,MAAM,GACrChB,eAAe,CAAAiB,aAAA,CAAAA,aAAA,KAAMX,aAAa;IAAEY,QAAQ,EAAEb;EAAe,EAAE,CAAC,GAChEL,eAAe,CAACM,aAAa,CAAC;EAEpC,MAAMa,QAAQ,GAAG;IACfC,IAAI,EAAErB,iBAAiB,CAAC;MACtBQ,OAAO;MACPQ,YAAY;MACZP,cAAc;MACda,SAAS,EAAEZ,qBAAqB;MAChCK,WAAW;MACXJ,cAAc;MACdY,qBAAqB,EAAE,IAAI;MAC3BlB,MAAM;MACNQ;IACF,CAAC;EACH,CAAC;;EAED;EACA,MAAM;IAAEW,KAAK,EAAEC;EAAc,CAAC,GAAGlB,aAAa;EAC9C,MAAMiB,KAAK,GAAGC,aAAa,IAAIvB,aAAa,CAAC,CAAC;EAC9C,MAAMwB,YAAY,GAAGd,6BAA6B,GAAGe,MAAM,CAACH,KAAK,CAAC,GAAG,CAAC,GAAGA,KAAK;EAC9E,MAAMI,SAAS,GAAG7B,yBAAyB,CAAC;IAC1CuB,SAAS,EAAEZ,qBAAqB;IAChCmB,WAAW,EAAAX,aAAA,CAAAA,aAAA,KAAOX,aAAa;MAAEiB,KAAK,EAAEE;IAAY,EAAE;IACtDX,WAAW;IACXK,QAAQ;IACRN;EACF,CAAC,CAAC;EAEF,OAAO;IAAEc,SAAS;IAAEJ;EAAM,CAAC;AAC7B,CAAC;AAED,eAAerB,gBAAgB","ignoreList":[]}
@@ -1,5 +1,7 @@
1
- import { buildQueryFields, getInheritedFilters, getQueryProps } from '../../../helpers';
2
- import { getSearchPublishedContent } from '../../../application/query';
1
+ import buildQueryFields from './build-query-fields';
2
+ import getInheritedFilters from './get-inherited-filters';
3
+ import getQueryProps from './get-query-props';
4
+ import { getSearchPublishedContent } from '../application/query';
3
5
  const filtersSetup = ({
4
6
  entityFields,
5
7
  entityTypes,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filters-setup.js","names":["buildQueryFields","getInheritedFilters","getQueryProps","getSearchPublishedContent","filtersSetup","entityFields","entityTypes","filterBy","filterByProperty","entities","currentSchema","filterEntitySchema","isPreview","itemEntityUpdated","isFull","fields","action","inheritedFilters","entitySameAsCurrentItemEntity","includes","relations","filterEntityRelations","queryProps","actions","getAction","get","getPublished"],"sources":["../../src/helpers/filters-setup.js"],"sourcesContent":["import buildQueryFields from './build-query-fields';\nimport getInheritedFilters from './get-inherited-filters';\nimport getQueryProps from './get-query-props';\nimport { getSearchPublishedContent } from '../application/query';\n\nconst filtersSetup = ({\n entityFields,\n entityTypes,\n filterBy,\n filterByProperty,\n entities,\n currentSchema,\n filterEntitySchema,\n isPreview,\n itemEntityUpdated,\n isFull\n}) => {\n const fields = buildQueryFields(entityFields, entityTypes, isFull);\n const action = getSearchPublishedContent(fields);\n const inheritedFilters = getInheritedFilters(filterBy, filterByProperty);\n\n const entitySameAsCurrentItemEntity = entities.includes(itemEntityUpdated);\n const { relations: filterEntityRelations = [] } = filterEntitySchema;\n const queryProps = getQueryProps(inheritedFilters, currentSchema, filterEntitySchema);\n const { actions = {} } = currentSchema || {};\n const getAction = isPreview ? actions.get : actions.getPublished;\n\n return {\n getAction,\n queryProps,\n inheritedFilters,\n currentSchema,\n filterEntitySchema,\n entitySameAsCurrentItemEntity,\n action,\n filterEntityRelations\n };\n};\n\nexport default filtersSetup;\n"],"mappings":"AAAA,OAAOA,gBAAgB,MAAM,sBAAsB;AACnD,OAAOC,mBAAmB,MAAM,yBAAyB;AACzD,OAAOC,aAAa,MAAM,mBAAmB;AAC7C,SAASC,yBAAyB,QAAQ,sBAAsB;AAEhE,MAAMC,YAAY,GAAGA,CAAC;EACpBC,YAAY;EACZC,WAAW;EACXC,QAAQ;EACRC,gBAAgB;EAChBC,QAAQ;EACRC,aAAa;EACbC,kBAAkB;EAClBC,SAAS;EACTC,iBAAiB;EACjBC;AACF,CAAC,KAAK;EACJ,MAAMC,MAAM,GAAGf,gBAAgB,CAACK,YAAY,EAAEC,WAAW,EAAEQ,MAAM,CAAC;EAClE,MAAME,MAAM,GAAGb,yBAAyB,CAACY,MAAM,CAAC;EAChD,MAAME,gBAAgB,GAAGhB,mBAAmB,CAACM,QAAQ,EAAEC,gBAAgB,CAAC;EAExE,MAAMU,6BAA6B,GAAGT,QAAQ,CAACU,QAAQ,CAACN,iBAAiB,CAAC;EAC1E,MAAM;IAAEO,SAAS,EAAEC,qBAAqB,GAAG;EAAG,CAAC,GAAGV,kBAAkB;EACpE,MAAMW,UAAU,GAAGpB,aAAa,CAACe,gBAAgB,EAAEP,aAAa,EAAEC,kBAAkB,CAAC;EACrF,MAAM;IAAEY,OAAO,GAAG,CAAC;EAAE,CAAC,GAAGb,aAAa,IAAI,CAAC,CAAC;EAC5C,MAAMc,SAAS,GAAGZ,SAAS,GAAGW,OAAO,CAACE,GAAG,GAAGF,OAAO,CAACG,YAAY;EAEhE,OAAO;IACLF,SAAS;IACTF,UAAU;IACVL,gBAAgB;IAChBP,aAAa;IACbC,kBAAkB;IAClBO,6BAA6B;IAC7BF,MAAM;IACNK;EACF,CAAC;AACH,CAAC;AAED,eAAejB,YAAY","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-updated-items-to-display.js","names":["getUpdatedItemsToDisplay","parentSchema","parentEntityData","itemsToDisplay","inheritedFilters","idProp","find","filter","indexOf","properties","entityKey","split","queryValue","Object","keys","propKey","relation","entityIdentifier","parentValues","updatedItemsToDisplay","Array","isArray","forEach","value","push","displayItems"],"sources":["../../src/helpers/get-updated-items-to-display.js"],"sourcesContent":["const getUpdatedItemsToDisplay = ({\n parentSchema,\n parentEntityData,\n itemsToDisplay = [],\n inheritedFilters = []\n}) => {\n const idProp = inheritedFilters.find(filter => filter.indexOf('id/') === 0);\n\n if (!idProp || !parentSchema || !parentEntityData) return itemsToDisplay;\n const { properties } = parentSchema;\n const [, entityKey] = idProp.split('/');\n if (!properties || !entityKey) return itemsToDisplay;\n const queryValue = Object.keys(properties).find(\n propKey =>\n properties[propKey] &&\n properties[propKey].relation &&\n properties[propKey].relation.entityIdentifier === entityKey\n );\n const parentValues = parentEntityData[queryValue];\n if (!parentValues) return itemsToDisplay;\n const updatedItemsToDisplay = [...itemsToDisplay];\n if (Array.isArray(parentValues)) {\n parentValues.forEach(value => {\n updatedItemsToDisplay.push({ displayItems: [value] });\n });\n } else {\n updatedItemsToDisplay.push({ displayItems: [parentValues] });\n }\n return updatedItemsToDisplay;\n};\n\nexport default getUpdatedItemsToDisplay;\n"],"mappings":"AAAA,MAAMA,wBAAwB,GAAGA,CAAC;EAChCC,YAAY;EACZC,gBAAgB;EAChBC,cAAc,GAAG,EAAE;EACnBC,gBAAgB,GAAG;AACrB,CAAC,KAAK;EACJ,MAAMC,MAAM,GAAGD,gBAAgB,CAACE,IAAI,CAACC,MAAM,IAAIA,MAAM,CAACC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;EAE3E,IAAI,CAACH,MAAM,IAAI,CAACJ,YAAY,IAAI,CAACC,gBAAgB,EAAE,OAAOC,cAAc;EACxE,MAAM;IAAEM;EAAW,CAAC,GAAGR,YAAY;EACnC,MAAM,GAAGS,SAAS,CAAC,GAAGL,MAAM,CAACM,KAAK,CAAC,GAAG,CAAC;EACvC,IAAI,CAACF,UAAU,IAAI,CAACC,SAAS,EAAE,OAAOP,cAAc;EACpD,MAAMS,UAAU,GAAGC,MAAM,CAACC,IAAI,CAACL,UAAU,CAAC,CAACH,IAAI,CAC7CS,OAAO,IACLN,UAAU,CAACM,OAAO,CAAC,IACnBN,UAAU,CAACM,OAAO,CAAC,CAACC,QAAQ,IAC5BP,UAAU,CAACM,OAAO,CAAC,CAACC,QAAQ,CAACC,gBAAgB,KAAKP,SACtD,CAAC;EACD,MAAMQ,YAAY,GAAGhB,gBAAgB,CAACU,UAAU,CAAC;EACjD,IAAI,CAACM,YAAY,EAAE,OAAOf,cAAc;EACxC,MAAMgB,qBAAqB,GAAG,CAAC,GAAGhB,cAAc,CAAC;EACjD,IAAIiB,KAAK,CAACC,OAAO,CAACH,YAAY,CAAC,EAAE;IAC/BA,YAAY,CAACI,OAAO,CAACC,KAAK,IAAI;MAC5BJ,qBAAqB,CAACK,IAAI,CAAC;QAAEC,YAAY,EAAE,CAACF,KAAK;MAAE,CAAC,CAAC;IACvD,CAAC,CAAC;EACJ,CAAC,MAAM;IACLJ,qBAAqB,CAACK,IAAI,CAAC;MAAEC,YAAY,EAAE,CAACP,YAAY;IAAE,CAAC,CAAC;EAC9D;EACA,OAAOC,qBAAqB;AAC9B,CAAC;AAED,eAAenB,wBAAwB","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-updated-sort-properties.js","names":["getUpdatedSortProperties","sort","sortby","sortProperties","updatedSortProperties","length","unshift","propsToDisplay","sortbyFilters","map","filter","Boolean","flat"],"sources":["../../src/helpers/get-updated-sort-properties.js"],"sourcesContent":["const getUpdatedSortProperties = (sort, sortby, sortProperties = []) => {\n const updatedSortProperties = [...sortProperties];\n if (!updatedSortProperties.length && sort) {\n updatedSortProperties.unshift({ sort, propsToDisplay: sortby });\n }\n\n const sortbyFilters = updatedSortProperties\n .map(({ propsToDisplay }) => propsToDisplay)\n .filter(Boolean)\n .flat();\n return [updatedSortProperties, sortbyFilters];\n};\n\nexport default getUpdatedSortProperties;\n"],"mappings":"AAAA,MAAMA,wBAAwB,GAAGA,CAACC,IAAI,EAAEC,MAAM,EAAEC,cAAc,GAAG,EAAE,KAAK;EACtE,MAAMC,qBAAqB,GAAG,CAAC,GAAGD,cAAc,CAAC;EACjD,IAAI,CAACC,qBAAqB,CAACC,MAAM,IAAIJ,IAAI,EAAE;IACzCG,qBAAqB,CAACE,OAAO,CAAC;MAAEL,IAAI;MAAEM,cAAc,EAAEL;IAAO,CAAC,CAAC;EACjE;EAEA,MAAMM,aAAa,GAAGJ,qBAAqB,CACxCK,GAAG,CAAC,CAAC;IAAEF;EAAe,CAAC,KAAKA,cAAc,CAAC,CAC3CG,MAAM,CAACC,OAAO,CAAC,CACfC,IAAI,CAAC,CAAC;EACT,OAAO,CAACR,qBAAqB,EAAEI,aAAa,CAAC;AAC/C,CAAC;AAED,eAAeR,wBAAwB","ignoreList":[]}
@@ -53,6 +53,12 @@ export { default as appendImages } from './append-images';
53
53
  export { default as parseTextBlock } from './parse-TextBlock';
54
54
  export { default as processDataSummaryValue } from './process-data-summary-value';
55
55
  export { default as buildQueryKey } from './build-query-key';
56
+ export { default as filterQuerySetup } from './filter-query-setup';
57
+ export { default as filtersSetup } from './filters-setup';
58
+ export { default as getUpdatedItemsToDisplay } from './get-updated-items-to-display';
59
+ export { default as getUpdatedSortProperties } from './get-updated-sort-properties';
60
+ export { default as shouldReturn } from './should-return';
61
+ export { default as shouldSkipSingleQuery } from './should-skip-single-query';
56
62
  export { default as buildRawQueryStringified } from './build-raw-query-stringified';
57
63
  export { default as buildFiltersQuery } from './build-filters-query';
58
64
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default","buildInheritedFilters","buildLinkExtraProps","buildPropsQuery","buildQueryFields","buildRawQuery","buildRawQueryBase","buildSearchValuesCheckboxSelect","buildSearchValuesText","buildSetFilters","checkPropsToUse","getElasticsearchOperator","getClickWrapperOptions","getEntitiesWithBanner","getEntityData","getEntityRenderProps","getGenericProps","getGenericRenderVariables","getImageIds","getInheritedFilters","getModifiers","getNotEqualQuery","getPaginationIndex","getParsedSummaryValue","getQueryFilters","getQueryProps","getRequiredSchemas","getSearchFilterType","getUnpublishedEntityName","getWrappedValueWithLink","getItemsToDisplayIds","isBrowser","isFilterEntitysId","isObject","isUsingRelationImage","parsePropsToDisplay","renderChildren","shouldRenderWaypoint","shouldShowProperty","sortResponseData","splitChildren","getCurrentOffset","updateChildrensParent","getDisplayCountData","buildImageProperties","getUpdatedFilterBy","checkForError","removeUnwantedCharacters","hasChildren","removeExtraItems","getParsedPropValues","getSanitizedPropValues","appendImages","parseTextBlock","processDataSummaryValue","buildQueryKey","buildRawQueryStringified","buildFiltersQuery"],"sources":["../../src/helpers/index.js"],"sourcesContent":["export { default as buildInheritedFilters } from './build-inherited-filters';\nexport { default as buildLinkExtraProps } from './build-link-extra-props';\nexport { default as buildPropsQuery } from './build-props-query';\nexport { default as buildQueryFields } from './build-query-fields';\nexport { default as buildRawQuery } from './build-raw-query';\nexport { default as buildRawQueryBase } from './build-raw-query-base';\nexport { default as buildSearchValuesCheckboxSelect } from './build-search-values-checkbox-select';\nexport { default as buildSearchValuesText } from './build-search-values-text';\nexport { default as buildSetFilters } from './build-set-filters';\nexport { default as checkPropsToUse } from './check-props-to-use';\nexport { default as getElasticsearchOperator } from './get-elasticsearch-operator';\nexport { default as getClickWrapperOptions } from './get-click-wrapper-options';\nexport { default as getEntitiesWithBanner } from './get-entities-with-banner';\nexport { default as getEntityData } from './get-entity-data';\nexport { default as getEntityRenderProps } from './get-entity-render-props';\nexport { default as getGenericProps } from './get-generic-props';\nexport { default as getGenericRenderVariables } from './get-generic-render-variables';\nexport { default as getImageIds } from './get-image-ids';\nexport { default as getInheritedFilters } from './get-inherited-filters';\nexport { default as getModifiers } from './get-modifiers';\nexport { default as getNotEqualQuery } from './get-not-equal-query';\nexport { default as getPaginationIndex } from './get-pagination-index';\nexport { default as getParsedSummaryValue } from './get-parsed-summary-value';\nexport { default as getQueryFilters } from './get-query-filters';\nexport { default as getQueryProps } from './get-query-props';\nexport { default as getRequiredSchemas } from './get-required-schemas';\nexport { default as getSearchFilterType } from './get-search-filter-type';\nexport { default as getUnpublishedEntityName } from './get-unpublished-entity-name';\nexport { default as getWrappedValueWithLink } from './get-wrapped-value-with-link';\nexport { default as getItemsToDisplayIds } from './get-items-to-display-ids';\nexport { default as isBrowser } from './is-browser';\nexport { default as isFilterEntitysId } from './is-filter-entitys-id';\nexport { default as isObject } from './is-object';\nexport { default as isUsingRelationImage } from './is-using-relation-image';\nexport { default as parsePropsToDisplay } from './parse-props-to-display';\nexport { default as renderChildren } from './render-children';\nexport { default as shouldRenderWaypoint } from './should-render-waypoint';\nexport { default as shouldShowProperty } from './should-show-property';\nexport { default as sortResponseData } from './sort-response-data';\nexport { default as splitChildren } from './split-children';\nexport { default as getCurrentOffset } from './get-current-offset';\nexport { default as updateChildrensParent } from './update-childrens-parent';\nexport { default as getDisplayCountData } from './get-display-count-data';\nexport { default as buildImageProperties } from './build-image-properties';\nexport { default as getUpdatedFilterBy } from './get-updated-filter-by';\nexport { default as checkForError } from './check-for-error';\nexport { default as removeUnwantedCharacters } from './remove-unwanted-characters';\nexport { default as hasChildren } from './has-children';\nexport { default as removeExtraItems } from './remove-extra-items';\nexport { default as getParsedPropValues } from './get-parsed-prop-values';\nexport { default as getSanitizedPropValues } from './get-sanitized-prop-values';\nexport { default as appendImages } from './append-images';\nexport { default as parseTextBlock } from './parse-TextBlock';\nexport { default as processDataSummaryValue } from './process-data-summary-value';\nexport { default as buildQueryKey } from './build-query-key';\nexport { default as buildRawQueryStringified } from './build-raw-query-stringified';\nexport { default as buildFiltersQuery } from './build-filters-query';\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["default","buildInheritedFilters","buildLinkExtraProps","buildPropsQuery","buildQueryFields","buildRawQuery","buildRawQueryBase","buildSearchValuesCheckboxSelect","buildSearchValuesText","buildSetFilters","checkPropsToUse","getElasticsearchOperator","getClickWrapperOptions","getEntitiesWithBanner","getEntityData","getEntityRenderProps","getGenericProps","getGenericRenderVariables","getImageIds","getInheritedFilters","getModifiers","getNotEqualQuery","getPaginationIndex","getParsedSummaryValue","getQueryFilters","getQueryProps","getRequiredSchemas","getSearchFilterType","getUnpublishedEntityName","getWrappedValueWithLink","getItemsToDisplayIds","isBrowser","isFilterEntitysId","isObject","isUsingRelationImage","parsePropsToDisplay","renderChildren","shouldRenderWaypoint","shouldShowProperty","sortResponseData","splitChildren","getCurrentOffset","updateChildrensParent","getDisplayCountData","buildImageProperties","getUpdatedFilterBy","checkForError","removeUnwantedCharacters","hasChildren","removeExtraItems","getParsedPropValues","getSanitizedPropValues","appendImages","parseTextBlock","processDataSummaryValue","buildQueryKey","filterQuerySetup","filtersSetup","getUpdatedItemsToDisplay","getUpdatedSortProperties","shouldReturn","shouldSkipSingleQuery","buildRawQueryStringified","buildFiltersQuery"],"sources":["../../src/helpers/index.js"],"sourcesContent":["export { default as buildInheritedFilters } from './build-inherited-filters';\nexport { default as buildLinkExtraProps } from './build-link-extra-props';\nexport { default as buildPropsQuery } from './build-props-query';\nexport { default as buildQueryFields } from './build-query-fields';\nexport { default as buildRawQuery } from './build-raw-query';\nexport { default as buildRawQueryBase } from './build-raw-query-base';\nexport { default as buildSearchValuesCheckboxSelect } from './build-search-values-checkbox-select';\nexport { default as buildSearchValuesText } from './build-search-values-text';\nexport { default as buildSetFilters } from './build-set-filters';\nexport { default as checkPropsToUse } from './check-props-to-use';\nexport { default as getElasticsearchOperator } from './get-elasticsearch-operator';\nexport { default as getClickWrapperOptions } from './get-click-wrapper-options';\nexport { default as getEntitiesWithBanner } from './get-entities-with-banner';\nexport { default as getEntityData } from './get-entity-data';\nexport { default as getEntityRenderProps } from './get-entity-render-props';\nexport { default as getGenericProps } from './get-generic-props';\nexport { default as getGenericRenderVariables } from './get-generic-render-variables';\nexport { default as getImageIds } from './get-image-ids';\nexport { default as getInheritedFilters } from './get-inherited-filters';\nexport { default as getModifiers } from './get-modifiers';\nexport { default as getNotEqualQuery } from './get-not-equal-query';\nexport { default as getPaginationIndex } from './get-pagination-index';\nexport { default as getParsedSummaryValue } from './get-parsed-summary-value';\nexport { default as getQueryFilters } from './get-query-filters';\nexport { default as getQueryProps } from './get-query-props';\nexport { default as getRequiredSchemas } from './get-required-schemas';\nexport { default as getSearchFilterType } from './get-search-filter-type';\nexport { default as getUnpublishedEntityName } from './get-unpublished-entity-name';\nexport { default as getWrappedValueWithLink } from './get-wrapped-value-with-link';\nexport { default as getItemsToDisplayIds } from './get-items-to-display-ids';\nexport { default as isBrowser } from './is-browser';\nexport { default as isFilterEntitysId } from './is-filter-entitys-id';\nexport { default as isObject } from './is-object';\nexport { default as isUsingRelationImage } from './is-using-relation-image';\nexport { default as parsePropsToDisplay } from './parse-props-to-display';\nexport { default as renderChildren } from './render-children';\nexport { default as shouldRenderWaypoint } from './should-render-waypoint';\nexport { default as shouldShowProperty } from './should-show-property';\nexport { default as sortResponseData } from './sort-response-data';\nexport { default as splitChildren } from './split-children';\nexport { default as getCurrentOffset } from './get-current-offset';\nexport { default as updateChildrensParent } from './update-childrens-parent';\nexport { default as getDisplayCountData } from './get-display-count-data';\nexport { default as buildImageProperties } from './build-image-properties';\nexport { default as getUpdatedFilterBy } from './get-updated-filter-by';\nexport { default as checkForError } from './check-for-error';\nexport { default as removeUnwantedCharacters } from './remove-unwanted-characters';\nexport { default as hasChildren } from './has-children';\nexport { default as removeExtraItems } from './remove-extra-items';\nexport { default as getParsedPropValues } from './get-parsed-prop-values';\nexport { default as getSanitizedPropValues } from './get-sanitized-prop-values';\nexport { default as appendImages } from './append-images';\nexport { default as parseTextBlock } from './parse-TextBlock';\nexport { default as processDataSummaryValue } from './process-data-summary-value';\nexport { default as buildQueryKey } from './build-query-key';\nexport { default as filterQuerySetup } from './filter-query-setup';\nexport { default as filtersSetup } from './filters-setup';\nexport { default as getUpdatedItemsToDisplay } from './get-updated-items-to-display';\nexport { default as getUpdatedSortProperties } from './get-updated-sort-properties';\nexport { default as shouldReturn } from './should-return';\nexport { default as shouldSkipSingleQuery } from './should-skip-single-query';\nexport { default as buildRawQueryStringified } from './build-raw-query-stringified';\nexport { default as buildFiltersQuery } from './build-filters-query';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,qBAAqB,QAAQ,2BAA2B;AAC5E,SAASD,OAAO,IAAIE,mBAAmB,QAAQ,0BAA0B;AACzE,SAASF,OAAO,IAAIG,eAAe,QAAQ,qBAAqB;AAChE,SAASH,OAAO,IAAII,gBAAgB,QAAQ,sBAAsB;AAClE,SAASJ,OAAO,IAAIK,aAAa,QAAQ,mBAAmB;AAC5D,SAASL,OAAO,IAAIM,iBAAiB,QAAQ,wBAAwB;AACrE,SAASN,OAAO,IAAIO,+BAA+B,QAAQ,uCAAuC;AAClG,SAASP,OAAO,IAAIQ,qBAAqB,QAAQ,4BAA4B;AAC7E,SAASR,OAAO,IAAIS,eAAe,QAAQ,qBAAqB;AAChE,SAAST,OAAO,IAAIU,eAAe,QAAQ,sBAAsB;AACjE,SAASV,OAAO,IAAIW,wBAAwB,QAAQ,8BAA8B;AAClF,SAASX,OAAO,IAAIY,sBAAsB,QAAQ,6BAA6B;AAC/E,SAASZ,OAAO,IAAIa,qBAAqB,QAAQ,4BAA4B;AAC7E,SAASb,OAAO,IAAIc,aAAa,QAAQ,mBAAmB;AAC5D,SAASd,OAAO,IAAIe,oBAAoB,QAAQ,2BAA2B;AAC3E,SAASf,OAAO,IAAIgB,eAAe,QAAQ,qBAAqB;AAChE,SAAShB,OAAO,IAAIiB,yBAAyB,QAAQ,gCAAgC;AACrF,SAASjB,OAAO,IAAIkB,WAAW,QAAQ,iBAAiB;AACxD,SAASlB,OAAO,IAAImB,mBAAmB,QAAQ,yBAAyB;AACxE,SAASnB,OAAO,IAAIoB,YAAY,QAAQ,iBAAiB;AACzD,SAASpB,OAAO,IAAIqB,gBAAgB,QAAQ,uBAAuB;AACnE,SAASrB,OAAO,IAAIsB,kBAAkB,QAAQ,wBAAwB;AACtE,SAAStB,OAAO,IAAIuB,qBAAqB,QAAQ,4BAA4B;AAC7E,SAASvB,OAAO,IAAIwB,eAAe,QAAQ,qBAAqB;AAChE,SAASxB,OAAO,IAAIyB,aAAa,QAAQ,mBAAmB;AAC5D,SAASzB,OAAO,IAAI0B,kBAAkB,QAAQ,wBAAwB;AACtE,SAAS1B,OAAO,IAAI2B,mBAAmB,QAAQ,0BAA0B;AACzE,SAAS3B,OAAO,IAAI4B,wBAAwB,QAAQ,+BAA+B;AACnF,SAAS5B,OAAO,IAAI6B,uBAAuB,QAAQ,+BAA+B;AAClF,SAAS7B,OAAO,IAAI8B,oBAAoB,QAAQ,4BAA4B;AAC5E,SAAS9B,OAAO,IAAI+B,SAAS,QAAQ,cAAc;AACnD,SAAS/B,OAAO,IAAIgC,iBAAiB,QAAQ,wBAAwB;AACrE,SAAShC,OAAO,IAAIiC,QAAQ,QAAQ,aAAa;AACjD,SAASjC,OAAO,IAAIkC,oBAAoB,QAAQ,2BAA2B;AAC3E,SAASlC,OAAO,IAAImC,mBAAmB,QAAQ,0BAA0B;AACzE,SAASnC,OAAO,IAAIoC,cAAc,QAAQ,mBAAmB;AAC7D,SAASpC,OAAO,IAAIqC,oBAAoB,QAAQ,0BAA0B;AAC1E,SAASrC,OAAO,IAAIsC,kBAAkB,QAAQ,wBAAwB;AACtE,SAAStC,OAAO,IAAIuC,gBAAgB,QAAQ,sBAAsB;AAClE,SAASvC,OAAO,IAAIwC,aAAa,QAAQ,kBAAkB;AAC3D,SAASxC,OAAO,IAAIyC,gBAAgB,QAAQ,sBAAsB;AAClE,SAASzC,OAAO,IAAI0C,qBAAqB,QAAQ,2BAA2B;AAC5E,SAAS1C,OAAO,IAAI2C,mBAAmB,QAAQ,0BAA0B;AACzE,SAAS3C,OAAO,IAAI4C,oBAAoB,QAAQ,0BAA0B;AAC1E,SAAS5C,OAAO,IAAI6C,kBAAkB,QAAQ,yBAAyB;AACvE,SAAS7C,OAAO,IAAI8C,aAAa,QAAQ,mBAAmB;AAC5D,SAAS9C,OAAO,IAAI+C,wBAAwB,QAAQ,8BAA8B;AAClF,SAAS/C,OAAO,IAAIgD,WAAW,QAAQ,gBAAgB;AACvD,SAAShD,OAAO,IAAIiD,gBAAgB,QAAQ,sBAAsB;AAClE,SAASjD,OAAO,IAAIkD,mBAAmB,QAAQ,0BAA0B;AACzE,SAASlD,OAAO,IAAImD,sBAAsB,QAAQ,6BAA6B;AAC/E,SAASnD,OAAO,IAAIoD,YAAY,QAAQ,iBAAiB;AACzD,SAASpD,OAAO,IAAIqD,cAAc,QAAQ,mBAAmB;AAC7D,SAASrD,OAAO,IAAIsD,uBAAuB,QAAQ,8BAA8B;AACjF,SAAStD,OAAO,IAAIuD,aAAa,QAAQ,mBAAmB;AAC5D,SAASvD,OAAO,IAAIwD,gBAAgB,QAAQ,sBAAsB;AAClE,SAASxD,OAAO,IAAIyD,YAAY,QAAQ,iBAAiB;AACzD,SAASzD,OAAO,IAAI0D,wBAAwB,QAAQ,gCAAgC;AACpF,SAAS1D,OAAO,IAAI2D,wBAAwB,QAAQ,+BAA+B;AACnF,SAAS3D,OAAO,IAAI4D,YAAY,QAAQ,iBAAiB;AACzD,SAAS5D,OAAO,IAAI6D,qBAAqB,QAAQ,4BAA4B;AAC7E,SAAS7D,OAAO,IAAI8D,wBAAwB,QAAQ,+BAA+B;AACnF,SAAS9D,OAAO,IAAI+D,iBAAiB,QAAQ,uBAAuB","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"should-return.js","names":["shouldReturn","args","filter","Boolean","length"],"sources":["../../src/helpers/should-return.js"],"sourcesContent":["const shouldReturn = (...args) => !!args.filter(Boolean).length;\n\nexport default shouldReturn;\n"],"mappings":"AAAA,MAAMA,YAAY,GAAGA,CAAC,GAAGC,IAAI,KAAK,CAAC,CAACA,IAAI,CAACC,MAAM,CAACC,OAAO,CAAC,CAACC,MAAM;AAE/D,eAAeJ,YAAY","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { ID } from '../../../constants';
1
+ import { ID } from '../constants';
2
2
  const shouldSkipSingleQuery = (loading, getAction, queryProps) => loading || !getAction || queryProps === ID;
3
3
  export default shouldSkipSingleQuery;
4
4
  //# sourceMappingURL=should-skip-single-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"should-skip-single-query.js","names":["ID","shouldSkipSingleQuery","loading","getAction","queryProps"],"sources":["../../src/helpers/should-skip-single-query.js"],"sourcesContent":["import { ID } from '../constants';\n\nconst shouldSkipSingleQuery = (loading, getAction, queryProps) =>\n loading || !getAction || queryProps === ID;\n\nexport default shouldSkipSingleQuery;\n"],"mappings":"AAAA,SAASA,EAAE,QAAQ,cAAc;AAEjC,MAAMC,qBAAqB,GAAGA,CAACC,OAAO,EAAEC,SAAS,EAAEC,UAAU,KAC3DF,OAAO,IAAI,CAACC,SAAS,IAAIC,UAAU,KAAKJ,EAAE;AAE5C,eAAeC,qBAAqB","ignoreList":[]}