@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
@@ -23,6 +23,12 @@ Object.defineProperty(exports, "useCheckMobileScreen", {
23
23
  return _useCheckMobileScreen["default"];
24
24
  }
25
25
  });
26
+ Object.defineProperty(exports, "useFilterAggregationValues", {
27
+ enumerable: true,
28
+ get: function get() {
29
+ return _useFilterAggregationValues["default"];
30
+ }
31
+ });
26
32
  Object.defineProperty(exports, "useGetEntitySchema", {
27
33
  enumerable: true,
28
34
  get: function get() {
@@ -59,6 +65,12 @@ Object.defineProperty(exports, "usePageBuilder", {
59
65
  return _usePageBuilder["default"];
60
66
  }
61
67
  });
68
+ Object.defineProperty(exports, "usePortal", {
69
+ enumerable: true,
70
+ get: function get() {
71
+ return _usePortal["default"];
72
+ }
73
+ });
62
74
  var _useGetEntitySchema = _interopRequireDefault(require("./use-get-entity-schema"));
63
75
  var _useGetEntitySchemasAsObj = _interopRequireDefault(require("./use-get-entity-schemas-as-obj"));
64
76
  var _useGetImageIdFromRelation = _interopRequireDefault(require("./use-get-image-id-from-relation"));
@@ -68,4 +80,6 @@ var _useGetSingleEntitySchema = _interopRequireDefault(require("./use-get-single
68
80
  var _useCheckMobileScreen = _interopRequireDefault(require("./use-check-mobile-screen"));
69
81
  var _useBannerInsertion = _interopRequireDefault(require("./use-banner-insertion"));
70
82
  var _useAppSyncEventHook = _interopRequireDefault(require("./use-app-sync-event-hook"));
83
+ var _usePortal = _interopRequireDefault(require("./use-portal"));
84
+ var _useFilterAggregationValues = _interopRequireDefault(require("./use-filter-aggregation-values"));
71
85
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_useGetEntitySchema","_interopRequireDefault","require","_useGetEntitySchemasAsObj","_useGetImageIdFromRelation","_useGetImages","_usePageBuilder","_useGetSingleEntitySchema","_useCheckMobileScreen","_useBannerInsertion","_useAppSyncEventHook"],"sources":["../../src/hooks/index.js"],"sourcesContent":["export { default as useGetEntitySchema } from './use-get-entity-schema';\nexport { default as useGetEntitySchemasAsObj } from './use-get-entity-schemas-as-obj';\nexport { default as useGetImageIdFromRelation } from './use-get-image-id-from-relation';\nexport { default as useGetImages } from './use-get-images';\nexport { default as usePageBuilder } from './use-page-builder';\nexport { default as useGetSingleEntitySchema } from './use-get-single-entity-schema';\nexport { default as useCheckMobileScreen } from './use-check-mobile-screen';\nexport { default as useBannerInsertion } from './use-banner-insertion';\nexport { default as useAppSyncEventHook } from './use-app-sync-event-hook';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,mBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,yBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,0BAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,aAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,eAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,yBAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,qBAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,mBAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,oBAAA,GAAAT,sBAAA,CAAAC,OAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_useGetEntitySchema","_interopRequireDefault","require","_useGetEntitySchemasAsObj","_useGetImageIdFromRelation","_useGetImages","_usePageBuilder","_useGetSingleEntitySchema","_useCheckMobileScreen","_useBannerInsertion","_useAppSyncEventHook","_usePortal","_useFilterAggregationValues"],"sources":["../../src/hooks/index.js"],"sourcesContent":["export { default as useGetEntitySchema } from './use-get-entity-schema';\nexport { default as useGetEntitySchemasAsObj } from './use-get-entity-schemas-as-obj';\nexport { default as useGetImageIdFromRelation } from './use-get-image-id-from-relation';\nexport { default as useGetImages } from './use-get-images';\nexport { default as usePageBuilder } from './use-page-builder';\nexport { default as useGetSingleEntitySchema } from './use-get-single-entity-schema';\nexport { default as useCheckMobileScreen } from './use-check-mobile-screen';\nexport { default as useBannerInsertion } from './use-banner-insertion';\nexport { default as useAppSyncEventHook } from './use-app-sync-event-hook';\nexport { default as usePortal } from './use-portal';\nexport { default as useFilterAggregationValues } from './use-filter-aggregation-values';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,mBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,yBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,0BAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,aAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,eAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,yBAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,qBAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,mBAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,oBAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,UAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,2BAAA,GAAAX,sBAAA,CAAAC,OAAA","ignoreList":[]}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.symbol.js");
4
+ require("core-js/modules/es.array.filter.js");
5
+ require("core-js/modules/es.array.for-each.js");
6
+ require("core-js/modules/es.object.define-properties.js");
7
+ require("core-js/modules/es.object.define-property.js");
8
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
9
+ require("core-js/modules/es.object.get-own-property-descriptors.js");
10
+ require("core-js/modules/es.object.keys.js");
11
+ require("core-js/modules/es.object.to-string.js");
12
+ require("core-js/modules/web.dom-collections.for-each.js");
13
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
14
+ Object.defineProperty(exports, "__esModule", {
15
+ value: true
16
+ });
17
+ exports["default"] = void 0;
18
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
19
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
20
+ var _react = require("react");
21
+ 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; }
22
+ 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) { (0, _defineProperty2["default"])(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; }
23
+ var useFilterAggregationValues = function useFilterAggregationValues(_ref) {
24
+ var data = _ref.data,
25
+ filterValues = _ref.filterValues;
26
+ var _useState = (0, _react.useState)(data),
27
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
28
+ stateValues = _useState2[0],
29
+ setStateValues = _useState2[1];
30
+ var _useState3 = (0, _react.useState)(''),
31
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
32
+ prop = _useState4[0],
33
+ setProp = _useState4[1];
34
+ (0, _react.useEffect)(function () {
35
+ if (!stateValues) return setStateValues(data);
36
+ var lastChangedFilter = filterValues === null || filterValues === void 0 ? void 0 : filterValues[prop];
37
+ if (!data) return;
38
+ var newOptions = data[prop];
39
+ var currentOptions = stateValues === null || stateValues === void 0 ? void 0 : stateValues[prop];
40
+ if (lastChangedFilter === null || lastChangedFilter === '') {
41
+ return setStateValues(function (prevState) {
42
+ return _objectSpread(_objectSpread({}, data), {}, (0, _defineProperty2["default"])({}, prop, newOptions));
43
+ });
44
+ }
45
+ setStateValues(function (prevState) {
46
+ return _objectSpread(_objectSpread({}, data), {}, (0, _defineProperty2["default"])({}, prop, currentOptions));
47
+ });
48
+ },
49
+ // eslint-disable-next-line react-hooks/exhaustive-deps
50
+ [data, prop, filterValues]);
51
+ return [stateValues, setStateValues, setProp, prop];
52
+ };
53
+ var _default = exports["default"] = useFilterAggregationValues;
54
+ //# sourceMappingURL=use-filter-aggregation-values.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-filter-aggregation-values.js","names":["_react","require","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","useFilterAggregationValues","_ref","data","filterValues","_useState","useState","_useState2","_slicedToArray2","stateValues","setStateValues","_useState3","_useState4","prop","setProp","useEffect","lastChangedFilter","newOptions","currentOptions","prevState","_default","exports"],"sources":["../../src/hooks/use-filter-aggregation-values.js"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nconst useFilterAggregationValues = ({ data, filterValues }) => {\n const [stateValues, setStateValues] = useState(data);\n const [prop, setProp] = useState('');\n\n useEffect(\n () => {\n if (!stateValues) return setStateValues(data);\n\n const lastChangedFilter = filterValues?.[prop];\n\n if (!data) return;\n\n const newOptions = data[prop];\n const currentOptions = stateValues?.[prop];\n\n if (lastChangedFilter === null || lastChangedFilter === '') {\n return setStateValues(prevState => ({\n ...data,\n [prop]: newOptions\n }));\n }\n\n setStateValues(prevState => ({\n ...data,\n [prop]: currentOptions\n }));\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [data, prop, filterValues]\n );\n\n return [stateValues, setStateValues, setProp, prop];\n};\n\nexport default useFilterAggregationValues;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.array.iterator.js");
4
+ require("core-js/modules/es.object.define-property.js");
5
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
6
+ require("core-js/modules/es.object.to-string.js");
7
+ require("core-js/modules/es.string.iterator.js");
8
+ require("core-js/modules/es.weak-map.js");
9
+ require("core-js/modules/web.dom-collections.iterator.js");
10
+ var _typeof = require("@babel/runtime/helpers/typeof");
11
+ Object.defineProperty(exports, "__esModule", {
12
+ value: true
13
+ });
14
+ exports["default"] = void 0;
15
+ var _react = _interopRequireWildcard(require("react"));
16
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
17
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
18
+ function usePortal() {
19
+ var rootElemRef = _react["default"].useRef(document.createElement('div'));
20
+ (0, _react.useEffect)(function () {
21
+ document.body.appendChild(rootElemRef.current);
22
+ var element = rootElemRef.current;
23
+ return function removeElement() {
24
+ element.remove();
25
+ };
26
+ }, []);
27
+ return rootElemRef.current;
28
+ }
29
+ var _default = exports["default"] = usePortal;
30
+ //# sourceMappingURL=use-portal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-portal.js","names":["_react","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","usePortal","rootElemRef","React","useRef","document","createElement","useEffect","body","appendChild","current","element","removeElement","remove","_default","exports"],"sources":["../../src/hooks/use-portal.js"],"sourcesContent":["import React, { useEffect } from 'react';\n\nfunction usePortal() {\n const rootElemRef = React.useRef(document.createElement('div'));\n\n useEffect(() => {\n document.body.appendChild(rootElemRef.current);\n\n const element = rootElemRef.current;\n return function removeElement() {\n element.remove();\n };\n }, []);\n\n return rootElemRef.current;\n}\n\nexport default usePortal;\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAyC,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,gBAAAK,OAAA,CAAAL,CAAA,0BAAAA,CAAA,sBAAAA,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,cAAAR,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAEzC,SAASY,SAASA,CAAA,EAAG;EACnB,IAAMC,WAAW,GAAGC,iBAAK,CAACC,MAAM,CAACC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC,CAAC;EAE/D,IAAAC,gBAAS,EAAC,YAAM;IACdF,QAAQ,CAACG,IAAI,CAACC,WAAW,CAACP,WAAW,CAACQ,OAAO,CAAC;IAE9C,IAAMC,OAAO,GAAGT,WAAW,CAACQ,OAAO;IACnC,OAAO,SAASE,aAAaA,CAAA,EAAG;MAC9BD,OAAO,CAACE,MAAM,CAAC,CAAC;IAClB,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOX,WAAW,CAACQ,OAAO;AAC5B;AAAC,IAAAI,QAAA,GAAAC,OAAA,cAEcd,SAAS","ignoreList":[]}
@@ -99,18 +99,23 @@ const Card = _ref => {
99
99
  if (shouldTriggerRouteChange) router.push(`/Resolver`, url);
100
100
  };
101
101
 
102
- // todo: remove temp env var flag once widely tested BLAZE_PB_ADD_CLICK_TO_CARDS
103
- const clickProps = url && process.env.BLAZE_PB_ADD_CLICK_TO_CARDS ? {
102
+ // todo: asses whether we make link wrapper default after wider testing with BLAZE_PB_ADD_CLICK_TO_CARDS
103
+ const useLinkWrapper = url && process.env.BLAZE_PB_ADD_CLICK_TO_CARDS;
104
+ const clickProps = useLinkWrapper ? {
104
105
  onClick: handleCardClick,
105
- role: 'button'
106
+ href: url,
107
+ ariaLabel: name
106
108
  } : {};
107
- return /*#__PURE__*/React.createElement(Wrapper, wrapperProps, /*#__PURE__*/React.createElement("div", _extends({
109
+ const CardWrapper = useLinkWrapper ? BlazeLink : 'div';
110
+ const childLinkHref = useLinkWrapper ? undefined : url;
111
+ const ChildLinkWrapper = useLinkWrapper ? 'div' : BlazeLink;
112
+ return /*#__PURE__*/React.createElement(Wrapper, wrapperProps, /*#__PURE__*/React.createElement(CardWrapper, _extends({
108
113
  className: classNameWithModifiers
109
114
  }, clickProps), shouldDisplayThumbnail && /*#__PURE__*/React.createElement("div", {
110
115
  className: getModifiers('card__image', modifiers)
111
- }, /*#__PURE__*/React.createElement(BlazeLink, {
116
+ }, /*#__PURE__*/React.createElement(ChildLinkWrapper, {
112
117
  gtmId: gtmId,
113
- href: url,
118
+ href: childLinkHref,
114
119
  className: "card__image-link",
115
120
  scroll: true
116
121
  }, /*#__PURE__*/React.createElement(LazyImage, {
@@ -122,7 +127,7 @@ const Card = _ref => {
122
127
  className: contentWrapperModifier
123
128
  }, /*#__PURE__*/React.createElement("div", {
124
129
  className: getModifiers('card__content', modifiers)
125
- }, displayCategory && (publishedListingPage ? /*#__PURE__*/React.createElement(BlazeLink, {
130
+ }, displayCategory && (publishedListingPage ? /*#__PURE__*/React.createElement(ChildLinkWrapper, {
126
131
  gtmId: gtmId,
127
132
  href: publishedListingPage,
128
133
  className: "badge badge--label",
@@ -131,10 +136,10 @@ const Card = _ref => {
131
136
  className: "badge badge--label"
132
137
  }, label)), displayTitle && /*#__PURE__*/React.createElement("div", {
133
138
  className: titleWrapperModifier
134
- }, /*#__PURE__*/React.createElement(BlazeLink, {
139
+ }, /*#__PURE__*/React.createElement(ChildLinkWrapper, {
135
140
  title: linkTitle,
136
141
  gtmId: gtmId,
137
- href: url,
142
+ href: childLinkHref,
138
143
  scroll: true
139
144
  }, headline)), !!pageBuilderComponents.length && /*#__PURE__*/React.createElement("div", {
140
145
  className: "card__item card__item--full",
@@ -1 +1 @@
1
- {"version":3,"file":"Card.js","names":["React","Fragment","useRouter","PropTypes","BlazeLink","ClickWrapper","getModifiers","renderChildren","updateChildrensParent","getClickWrapperOptions","LazyImage","getPublishedListingUrl","useDynamicSizeKey","CARD_STRING","CARD_CHILDREN_WITH_LINKS","BuildPBComponents","Card","_ref","id","image","name","url","graphqlEntityMap","entityProps","alternativePreHeader","alternativeHeadline","category","modifier","parsedPropsToDisplay","propsToDisplay","propsToDisplayModifiers","gtmId","style","priority","cardChildren","gtmChildren","displayCategory","displayThumbnail","displayTitle","enableOverlay","enableCarousel","titleOverlayModifier","overlayModifier","gridModifier","pageBuilderComponents","__typename","dataEntity","otherProps","_objectWithoutProperties","_excluded","entity","parent","itemId","itemEntity","router","imageSrc","shouldDisplayThumbnail","altText","getImageDefinedProps","modifiers","getInitialModifiers","publishedListingPage","preHeader","label","headline","getCategoryDefinedProps","linkTitle","dynamicSizeKey","shouldUseClickWrapper","wrapperProps","Wrapper","classNameWithModifiers","contentWrapperModifier","titleWrapperModifier","handleCardClick","e","clickEventTag","target","tagName","toLowerCase","clickEventRole","role","shouldTriggerRouteChange","find","childTag","push","clickProps","process","env","BLAZE_PB_ADD_CLICK_TO_CARDS","onClick","createElement","_extends","className","href","scroll","src","alt","sizeKey","title","length","map","prop","i","dynamicKey","propModifier","htmlAttribute","extraProps","props","children","encodeURIComponent","key","propTypes","string","isRequired","shape","data","object","array","bool","oneOfType","arrayOf","node","defaultProps","hasAlternativePreHeader","sponsored","featured"],"sources":["../../../src/components/Card/Card.js"],"sourcesContent":["import React, { Fragment } from 'react';\nimport { useRouter } from 'next/router';\nimport PropTypes from 'prop-types';\nimport BlazeLink from '../BlazeLink';\nimport ClickWrapper from '../ClickWrapper';\nimport {\n getModifiers,\n renderChildren,\n updateChildrensParent,\n getClickWrapperOptions\n} from '../../helpers';\nimport LazyImage from '../LazyImage';\nimport { getPublishedListingUrl, useDynamicSizeKey } from './helpers';\nimport { CARD_STRING, CARD_CHILDREN_WITH_LINKS } from './constants';\nimport BuildPBComponents from '../../hooks/helpers/buildPBComponents';\n\nconst Card = ({\n id,\n image,\n name,\n url,\n graphqlEntityMap,\n entityProps,\n alternativePreHeader,\n alternativeHeadline,\n category,\n modifier,\n parsedPropsToDisplay,\n propsToDisplay,\n propsToDisplayModifiers,\n gtmId,\n style,\n priority,\n cardChildren,\n gtmChildren,\n displayCategory,\n displayThumbnail,\n displayTitle,\n enableOverlay,\n enableCarousel,\n titleOverlayModifier,\n overlayModifier,\n gridModifier,\n pageBuilderComponents,\n __typename: dataEntity,\n ...otherProps\n}) => {\n const entity = graphqlEntityMap[dataEntity];\n updateChildrensParent(cardChildren, id, entity);\n const parent = { itemId: id, itemEntity: entity };\n const router = useRouter();\n const { imageSrc, shouldDisplayThumbnail, altText } = getImageDefinedProps({\n image,\n displayThumbnail,\n name\n });\n\n const modifiers = getInitialModifiers({ modifier, style, otherProps });\n\n const { publishedListingPage, preHeader, label, headline } = getCategoryDefinedProps({\n alternativePreHeader,\n category,\n entity,\n alternativeHeadline,\n displayCategory,\n name\n });\n\n const linkTitle = name;\n\n const dynamicSizeKey = useDynamicSizeKey(CARD_STRING, { style, gridModifier, modifier });\n\n const { shouldUseClickWrapper, wrapperProps } = getClickWrapperOptions(\n gtmChildren,\n entityProps,\n id\n );\n\n const Wrapper = shouldUseClickWrapper ? ClickWrapper : Fragment;\n\n const classNameWithModifiers = getModifiers(CARD_STRING, modifiers);\n\n const contentWrapperModifier = `${getModifiers('card__content-wrapper', modifiers)} ${\n enableOverlay && enableCarousel ? overlayModifier : ''\n }`;\n\n const titleWrapperModifier = `${getModifiers('card__title', modifiers)} ${\n enableOverlay && enableCarousel ? titleOverlayModifier : ''\n }`;\n\n const handleCardClick = e => {\n if (!url) return;\n\n const clickEventTag = e.target.tagName.toLowerCase();\n const clickEventRole = e.target.role;\n const shouldTriggerRouteChange =\n clickEventRole !== 'button' &&\n !CARD_CHILDREN_WITH_LINKS.find(childTag => childTag === clickEventTag);\n if (shouldTriggerRouteChange) router.push(`/Resolver`, url);\n };\n\n // todo: remove temp env var flag once widely tested BLAZE_PB_ADD_CLICK_TO_CARDS\n const clickProps =\n url && process.env.BLAZE_PB_ADD_CLICK_TO_CARDS\n ? {\n onClick: handleCardClick,\n role: 'button'\n }\n : {};\n return (\n <Wrapper {...wrapperProps}>\n <div className={classNameWithModifiers} {...clickProps}>\n {shouldDisplayThumbnail && (\n <div className={getModifiers('card__image', modifiers)}>\n <BlazeLink gtmId={gtmId} href={url} className=\"card__image-link\" scroll>\n <LazyImage\n src={imageSrc}\n alt={altText}\n sizeKey={dynamicSizeKey}\n priority={priority}\n />\n </BlazeLink>\n </div>\n )}\n <div className={contentWrapperModifier}>\n <div className={getModifiers('card__content', modifiers)}>\n {displayCategory &&\n (publishedListingPage ? (\n <BlazeLink\n gtmId={gtmId}\n href={publishedListingPage}\n className=\"badge badge--label\"\n scroll>\n {preHeader.name}\n </BlazeLink>\n ) : (\n <div className=\"badge badge--label\">{label}</div>\n ))}\n {displayTitle && (\n <div className={titleWrapperModifier}>\n <BlazeLink title={linkTitle} gtmId={gtmId} href={url} scroll>\n {headline}\n </BlazeLink>\n </div>\n )}\n {!!pageBuilderComponents.length && (\n <div className=\"card__item card__item--full\" data-testid=\"full-card\">\n {BuildPBComponents(pageBuilderComponents, { parent })}\n </div>\n )}\n {!!parsedPropsToDisplay.length && (\n <div className={getModifiers('card__details', modifiers)}>\n {parsedPropsToDisplay.map((prop, i) => {\n if (!prop) return null;\n\n const dynamicKey = `${id}${i}`;\n const propModifier = propsToDisplayModifiers[i] || '';\n\n const { htmlAttribute } = propsToDisplay[i] || {};\n const extraProps = {};\n if (htmlAttribute && prop.props.children) {\n extraProps[htmlAttribute] = encodeURIComponent(prop.props.children[2]);\n }\n\n return (\n <span key={dynamicKey} className={propModifier} {...extraProps}>\n {prop}\n </span>\n );\n })}\n </div>\n )}\n </div>\n {!!cardChildren && (\n <div className=\"card__child-content\">{renderChildren(cardChildren)}</div>\n )}\n </div>\n </div>\n </Wrapper>\n );\n};\n\nCard.propTypes = {\n id: PropTypes.string.isRequired,\n image: PropTypes.shape({\n url: PropTypes.string,\n data: PropTypes.object\n }),\n graphqlEntityMap: PropTypes.object.isRequired,\n __typename: PropTypes.string.isRequired,\n style: PropTypes.string,\n parsedPropsToDisplay: PropTypes.array,\n propsToDisplay: PropTypes.array,\n propsToDisplayModifiers: PropTypes.array,\n url: PropTypes.string,\n name: PropTypes.string.isRequired,\n entityProps: PropTypes.object,\n gtmId: PropTypes.string,\n alternativePreHeader: PropTypes.shape({\n name: PropTypes.string\n }),\n alternativeHeadline: PropTypes.string,\n category: PropTypes.shape({\n name: PropTypes.string,\n publishedListingPage: PropTypes.shape({\n url: PropTypes.string\n })\n }),\n modifier: PropTypes.string,\n displayCategory: PropTypes.bool.isRequired,\n displayThumbnail: PropTypes.bool.isRequired,\n displayTitle: PropTypes.bool.isRequired,\n enableCarousel: PropTypes.bool,\n enableOverlay: PropTypes.bool,\n overlayModifier: PropTypes.string,\n titleOverlayModifier: PropTypes.string,\n cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gridModifier: PropTypes.string,\n priority: PropTypes.bool,\n pageBuilderComponents: PropTypes.array\n};\n\nCard.defaultProps = {\n entityProps: {},\n pageBuilderComponents: [],\n image: {\n url: null,\n data: {}\n },\n gtmId: '',\n style: 'portrait',\n parsedPropsToDisplay: [],\n propsToDisplay: [],\n propsToDisplayModifiers: [],\n url: '',\n alternativePreHeader: null,\n alternativeHeadline: '',\n category: null,\n modifier: '',\n cardChildren: [],\n gtmChildren: [],\n gridModifier: '',\n priority: false,\n overlayModifier: '',\n titleOverlayModifier: '',\n enableOverlay: false,\n enableCarousel: false\n};\n\nconst getCategoryDefinedProps = ({\n alternativePreHeader,\n category,\n entity,\n alternativeHeadline,\n displayCategory,\n name\n}) => {\n const hasAlternativePreHeader = alternativePreHeader && alternativePreHeader.name;\n const preHeader =\n alternativeHeadline && hasAlternativePreHeader ? alternativePreHeader : category;\n const publishedListingPage = getPublishedListingUrl(preHeader);\n const label = preHeader ? preHeader.name : entity;\n const headline =\n !displayCategory || !hasAlternativePreHeader ? name : alternativeHeadline || name;\n return { publishedListingPage, preHeader, label, headline };\n};\n\nconst getImageDefinedProps = ({ image, displayThumbnail, name }) => {\n const { url: imageSrc, data } = image || {};\n const shouldDisplayThumbnail = displayThumbnail && imageSrc;\n const altText = (data && data.altText) || name;\n return { imageSrc, shouldDisplayThumbnail, altText };\n};\n\nconst getInitialModifiers = ({ modifier, style, otherProps }) => {\n const modifiers = [modifier, style];\n const { sponsored, featured } = otherProps;\n if (sponsored) modifiers.push('sponsored');\n if (featured) modifiers.push('featured');\n\n return modifiers;\n};\n\nexport default Card;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Card.js","names":["React","Fragment","useRouter","PropTypes","BlazeLink","ClickWrapper","getModifiers","renderChildren","updateChildrensParent","getClickWrapperOptions","LazyImage","getPublishedListingUrl","useDynamicSizeKey","CARD_STRING","CARD_CHILDREN_WITH_LINKS","BuildPBComponents","Card","_ref","id","image","name","url","graphqlEntityMap","entityProps","alternativePreHeader","alternativeHeadline","category","modifier","parsedPropsToDisplay","propsToDisplay","propsToDisplayModifiers","gtmId","style","priority","cardChildren","gtmChildren","displayCategory","displayThumbnail","displayTitle","enableOverlay","enableCarousel","titleOverlayModifier","overlayModifier","gridModifier","pageBuilderComponents","__typename","dataEntity","otherProps","_objectWithoutProperties","_excluded","entity","parent","itemId","itemEntity","router","imageSrc","shouldDisplayThumbnail","altText","getImageDefinedProps","modifiers","getInitialModifiers","publishedListingPage","preHeader","label","headline","getCategoryDefinedProps","linkTitle","dynamicSizeKey","shouldUseClickWrapper","wrapperProps","Wrapper","classNameWithModifiers","contentWrapperModifier","titleWrapperModifier","handleCardClick","e","clickEventTag","target","tagName","toLowerCase","clickEventRole","role","shouldTriggerRouteChange","find","childTag","push","useLinkWrapper","process","env","BLAZE_PB_ADD_CLICK_TO_CARDS","clickProps","onClick","href","ariaLabel","CardWrapper","childLinkHref","undefined","ChildLinkWrapper","createElement","_extends","className","scroll","src","alt","sizeKey","title","length","map","prop","i","dynamicKey","propModifier","htmlAttribute","extraProps","props","children","encodeURIComponent","key","propTypes","string","isRequired","shape","data","object","array","bool","oneOfType","arrayOf","node","defaultProps","hasAlternativePreHeader","sponsored","featured"],"sources":["../../../src/components/Card/Card.js"],"sourcesContent":["import React, { Fragment } from 'react';\nimport { useRouter } from 'next/router';\nimport PropTypes from 'prop-types';\nimport BlazeLink from '../BlazeLink';\nimport ClickWrapper from '../ClickWrapper';\nimport {\n getModifiers,\n renderChildren,\n updateChildrensParent,\n getClickWrapperOptions\n} from '../../helpers';\nimport LazyImage from '../LazyImage';\nimport { getPublishedListingUrl, useDynamicSizeKey } from './helpers';\nimport { CARD_STRING, CARD_CHILDREN_WITH_LINKS } from './constants';\nimport BuildPBComponents from '../../hooks/helpers/buildPBComponents';\n\nconst Card = ({\n id,\n image,\n name,\n url,\n graphqlEntityMap,\n entityProps,\n alternativePreHeader,\n alternativeHeadline,\n category,\n modifier,\n parsedPropsToDisplay,\n propsToDisplay,\n propsToDisplayModifiers,\n gtmId,\n style,\n priority,\n cardChildren,\n gtmChildren,\n displayCategory,\n displayThumbnail,\n displayTitle,\n enableOverlay,\n enableCarousel,\n titleOverlayModifier,\n overlayModifier,\n gridModifier,\n pageBuilderComponents,\n __typename: dataEntity,\n ...otherProps\n}) => {\n const entity = graphqlEntityMap[dataEntity];\n updateChildrensParent(cardChildren, id, entity);\n const parent = { itemId: id, itemEntity: entity };\n const router = useRouter();\n const { imageSrc, shouldDisplayThumbnail, altText } = getImageDefinedProps({\n image,\n displayThumbnail,\n name\n });\n\n const modifiers = getInitialModifiers({ modifier, style, otherProps });\n\n const { publishedListingPage, preHeader, label, headline } = getCategoryDefinedProps({\n alternativePreHeader,\n category,\n entity,\n alternativeHeadline,\n displayCategory,\n name\n });\n\n const linkTitle = name;\n\n const dynamicSizeKey = useDynamicSizeKey(CARD_STRING, { style, gridModifier, modifier });\n\n const { shouldUseClickWrapper, wrapperProps } = getClickWrapperOptions(\n gtmChildren,\n entityProps,\n id\n );\n\n const Wrapper = shouldUseClickWrapper ? ClickWrapper : Fragment;\n\n const classNameWithModifiers = getModifiers(CARD_STRING, modifiers);\n\n const contentWrapperModifier = `${getModifiers('card__content-wrapper', modifiers)} ${\n enableOverlay && enableCarousel ? overlayModifier : ''\n }`;\n\n const titleWrapperModifier = `${getModifiers('card__title', modifiers)} ${\n enableOverlay && enableCarousel ? titleOverlayModifier : ''\n }`;\n\n const handleCardClick = e => {\n if (!url) return;\n\n const clickEventTag = e.target.tagName.toLowerCase();\n const clickEventRole = e.target.role;\n const shouldTriggerRouteChange =\n clickEventRole !== 'button' &&\n !CARD_CHILDREN_WITH_LINKS.find(childTag => childTag === clickEventTag);\n if (shouldTriggerRouteChange) router.push(`/Resolver`, url);\n };\n\n // todo: asses whether we make link wrapper default after wider testing with BLAZE_PB_ADD_CLICK_TO_CARDS\n const useLinkWrapper = url && process.env.BLAZE_PB_ADD_CLICK_TO_CARDS;\n const clickProps = useLinkWrapper\n ? {\n onClick: handleCardClick,\n href: url,\n ariaLabel: name\n }\n : {};\n const CardWrapper = useLinkWrapper ? BlazeLink : 'div';\n const childLinkHref = useLinkWrapper ? undefined : url;\n const ChildLinkWrapper = useLinkWrapper ? 'div' : BlazeLink;\n\n return (\n <Wrapper {...wrapperProps}>\n <CardWrapper className={classNameWithModifiers} {...clickProps}>\n {shouldDisplayThumbnail && (\n <div className={getModifiers('card__image', modifiers)}>\n <ChildLinkWrapper\n gtmId={gtmId}\n href={childLinkHref}\n className=\"card__image-link\"\n scroll>\n <LazyImage\n src={imageSrc}\n alt={altText}\n sizeKey={dynamicSizeKey}\n priority={priority}\n />\n </ChildLinkWrapper>\n </div>\n )}\n <div className={contentWrapperModifier}>\n <div className={getModifiers('card__content', modifiers)}>\n {displayCategory &&\n (publishedListingPage ? (\n <ChildLinkWrapper\n gtmId={gtmId}\n href={publishedListingPage}\n className=\"badge badge--label\"\n scroll>\n {preHeader.name}\n </ChildLinkWrapper>\n ) : (\n <div className=\"badge badge--label\">{label}</div>\n ))}\n {displayTitle && (\n <div className={titleWrapperModifier}>\n <ChildLinkWrapper title={linkTitle} gtmId={gtmId} href={childLinkHref} scroll>\n {headline}\n </ChildLinkWrapper>\n </div>\n )}\n {!!pageBuilderComponents.length && (\n <div className=\"card__item card__item--full\" data-testid=\"full-card\">\n {BuildPBComponents(pageBuilderComponents, { parent })}\n </div>\n )}\n {!!parsedPropsToDisplay.length && (\n <div className={getModifiers('card__details', modifiers)}>\n {parsedPropsToDisplay.map((prop, i) => {\n if (!prop) return null;\n\n const dynamicKey = `${id}${i}`;\n const propModifier = propsToDisplayModifiers[i] || '';\n\n const { htmlAttribute } = propsToDisplay[i] || {};\n const extraProps = {};\n if (htmlAttribute && prop.props.children) {\n extraProps[htmlAttribute] = encodeURIComponent(prop.props.children[2]);\n }\n\n return (\n <span key={dynamicKey} className={propModifier} {...extraProps}>\n {prop}\n </span>\n );\n })}\n </div>\n )}\n </div>\n {!!cardChildren && (\n <div className=\"card__child-content\">{renderChildren(cardChildren)}</div>\n )}\n </div>\n </CardWrapper>\n </Wrapper>\n );\n};\n\nCard.propTypes = {\n id: PropTypes.string.isRequired,\n image: PropTypes.shape({\n url: PropTypes.string,\n data: PropTypes.object\n }),\n graphqlEntityMap: PropTypes.object.isRequired,\n __typename: PropTypes.string.isRequired,\n style: PropTypes.string,\n parsedPropsToDisplay: PropTypes.array,\n propsToDisplay: PropTypes.array,\n propsToDisplayModifiers: PropTypes.array,\n url: PropTypes.string,\n name: PropTypes.string.isRequired,\n entityProps: PropTypes.object,\n gtmId: PropTypes.string,\n alternativePreHeader: PropTypes.shape({\n name: PropTypes.string\n }),\n alternativeHeadline: PropTypes.string,\n category: PropTypes.shape({\n name: PropTypes.string,\n publishedListingPage: PropTypes.shape({\n url: PropTypes.string\n })\n }),\n modifier: PropTypes.string,\n displayCategory: PropTypes.bool.isRequired,\n displayThumbnail: PropTypes.bool.isRequired,\n displayTitle: PropTypes.bool.isRequired,\n enableCarousel: PropTypes.bool,\n enableOverlay: PropTypes.bool,\n overlayModifier: PropTypes.string,\n titleOverlayModifier: PropTypes.string,\n cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gridModifier: PropTypes.string,\n priority: PropTypes.bool,\n pageBuilderComponents: PropTypes.array\n};\n\nCard.defaultProps = {\n entityProps: {},\n pageBuilderComponents: [],\n image: {\n url: null,\n data: {}\n },\n gtmId: '',\n style: 'portrait',\n parsedPropsToDisplay: [],\n propsToDisplay: [],\n propsToDisplayModifiers: [],\n url: '',\n alternativePreHeader: null,\n alternativeHeadline: '',\n category: null,\n modifier: '',\n cardChildren: [],\n gtmChildren: [],\n gridModifier: '',\n priority: false,\n overlayModifier: '',\n titleOverlayModifier: '',\n enableOverlay: false,\n enableCarousel: false\n};\n\nconst getCategoryDefinedProps = ({\n alternativePreHeader,\n category,\n entity,\n alternativeHeadline,\n displayCategory,\n name\n}) => {\n const hasAlternativePreHeader = alternativePreHeader && alternativePreHeader.name;\n const preHeader =\n alternativeHeadline && hasAlternativePreHeader ? alternativePreHeader : category;\n const publishedListingPage = getPublishedListingUrl(preHeader);\n const label = preHeader ? preHeader.name : entity;\n const headline =\n !displayCategory || !hasAlternativePreHeader ? name : alternativeHeadline || name;\n return { publishedListingPage, preHeader, label, headline };\n};\n\nconst getImageDefinedProps = ({ image, displayThumbnail, name }) => {\n const { url: imageSrc, data } = image || {};\n const shouldDisplayThumbnail = displayThumbnail && imageSrc;\n const altText = (data && data.altText) || name;\n return { imageSrc, shouldDisplayThumbnail, altText };\n};\n\nconst getInitialModifiers = ({ modifier, style, otherProps }) => {\n const modifiers = [modifier, style];\n const { sponsored, featured } = otherProps;\n if (sponsored) modifiers.push('sponsored');\n if (featured) modifiers.push('featured');\n\n return modifiers;\n};\n\nexport default Card;\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
- const _excluded = ["cardData", "gridModifier", "style", "displayCategory", "displayThumbnail", "displayTitle", "modifier", "entity", "graphqlEntityMap", "propsToDisplay", "gtmChildren", "cardChildren", "name", "designConfig", "itemsPerRow", "enableSmoothScroll", "enableCarousel", "bannerModifier", "priorityLimit", "enableAutoScroll", "enableOverlay", "autoScrollTimer", "overlayModifier", "titleOverlayModifier"],
4
+ const _excluded = ["cardData", "gridModifier", "style", "displayCategory", "displayThumbnail", "displayTitle", "modifier", "entity", "graphqlEntityMap", "propsToDisplay", "gtmChildren", "cardChildren", "name", "designConfig", "itemsPerRow", "enableSmoothScroll", "enableCarousel", "bannerModifier", "priorityLimit", "enableAutoScroll", "enableOverlay", "autoScrollTimer", "overlayModifier", "titleOverlayModifier", "VariantComponent"],
5
5
  _excluded2 = ["baseAdunit", "id"];
6
6
  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; }
7
7
  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; }
@@ -42,7 +42,8 @@ const CardContainer = _ref => {
42
42
  enableOverlay,
43
43
  autoScrollTimer,
44
44
  overlayModifier,
45
- titleOverlayModifier
45
+ titleOverlayModifier,
46
+ VariantComponent
46
47
  } = _ref,
47
48
  cardProps = _objectWithoutProperties(_ref, _excluded);
48
49
  const {
@@ -56,7 +57,8 @@ const CardContainer = _ref => {
56
57
  const parsedCardsData = getEntitiesWithBanner(cardData, cardProps, hasNewBannerSettings);
57
58
  const propsToDisplayModifiers = getPropsToDisplayModifiers(propsToDisplay);
58
59
  const dynamicWrapperSizes = enableCarousel ? '' : getDynamicGridClasses('grid', itemsPerRow, designConfig);
59
- const CardWrapper = enableCarousel ? CarouselWrapper : Wrapper;
60
+ const InitialWrapper = enableCarousel ? CarouselWrapper : Wrapper;
61
+ const CardWrapper = VariantComponent || InitialWrapper;
60
62
  let bannerIndex = 0;
61
63
  return /*#__PURE__*/React.createElement(CardWrapper, {
62
64
  className: dynamicWrapperSizes,
@@ -152,7 +154,8 @@ CardContainer.propTypes = {
152
154
  enableOverlay: PropTypes.bool,
153
155
  overlayModifier: PropTypes.string,
154
156
  titleOverlayModifier: PropTypes.string,
155
- autoScrollTimer: PropTypes.number
157
+ autoScrollTimer: PropTypes.number,
158
+ VariantComponent: PropTypes.func
156
159
  };
157
160
  CardContainer.defaultProps = {
158
161
  gtmChildren: [],
@@ -176,7 +179,8 @@ CardContainer.defaultProps = {
176
179
  enableOverlay: false,
177
180
  autoScrollTimer: 0,
178
181
  overlayModifier: '',
179
- titleOverlayModifier: ''
182
+ titleOverlayModifier: '',
183
+ VariantComponent: null
180
184
  };
181
185
  export default withTitle(CardContainer);
182
186
  //# sourceMappingURL=CardsContainer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CardsContainer.js","names":["React","useContext","PropTypes","MainContext","withTitle","Banner","Wrapper","CarouselWrapper","Card","getDynamicGridClasses","getEntitiesWithBanner","parsePropsToDisplay","getPropsToDisplayModifiers","checkIfShouldRenderBanner","checkNewBannerSettings","CardContainer","_ref","cardData","gridModifier","style","displayCategory","displayThumbnail","displayTitle","modifier","entity","legacyEntity","graphqlEntityMap","propsToDisplay","gtmChildren","cardChildren","name","designConfig","itemsPerRow","enableSmoothScroll","enableCarousel","bannerModifier","priorityLimit","enableAutoScroll","enableOverlay","autoScrollTimer","overlayModifier","titleOverlayModifier","cardProps","_objectWithoutProperties","_excluded","itemId","banner","hasNewBannerSettings","parsedCardsData","propsToDisplayModifiers","dynamicWrapperSizes","CardWrapper","bannerIndex","createElement","className","modifiers","numberOfCards","length","map","currentEntity","index","baseAdunit","id","entityProps","_excluded2","shouldRenderBanner","extraProps","dynamicKey","join","priority","parsedCardProps","_objectSpread","key","parsedPropsToDisplay","gtmId","bannerProps","type","Fragment","_extends","__typename","renderCounter","propTypes","pageBuilderComponents","array","isRequired","object","string","oneOfType","arrayOf","node","bool","number","defaultProps"],"sources":["../../../src/components/Card/CardsContainer.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { withTitle } from '../../HOC';\nimport Banner from '../Banner';\nimport Wrapper from '../Wrapper';\nimport CarouselWrapper from '../CarouselWrapper';\nimport Card from './Card';\nimport { getDynamicGridClasses } from './helpers';\nimport { getEntitiesWithBanner, parsePropsToDisplay } from '../../helpers';\nimport { getPropsToDisplayModifiers } from '../../utils';\nimport { checkIfShouldRenderBanner, checkNewBannerSettings } from '../List/components/helpers';\n\nconst CardContainer = ({\n cardData,\n gridModifier,\n style,\n displayCategory,\n displayThumbnail,\n displayTitle,\n modifier,\n entity: legacyEntity,\n graphqlEntityMap,\n propsToDisplay,\n gtmChildren,\n cardChildren,\n name,\n designConfig,\n itemsPerRow,\n enableSmoothScroll,\n enableCarousel,\n bannerModifier,\n priorityLimit,\n enableAutoScroll,\n enableOverlay,\n autoScrollTimer,\n overlayModifier,\n titleOverlayModifier,\n ...cardProps\n}) => {\n const { itemId } = useContext(MainContext);\n const { banner } = cardProps;\n // TODO: remove this check and all associated code once old banner setup is no longer supported\n const hasNewBannerSettings = checkNewBannerSettings(banner);\n const parsedCardsData = getEntitiesWithBanner(cardData, cardProps, hasNewBannerSettings);\n const propsToDisplayModifiers = getPropsToDisplayModifiers(propsToDisplay);\n const dynamicWrapperSizes = enableCarousel\n ? ''\n : getDynamicGridClasses('grid', itemsPerRow, designConfig);\n const CardWrapper = enableCarousel ? CarouselWrapper : Wrapper;\n let bannerIndex = 0;\n\n return (\n <CardWrapper\n className={dynamicWrapperSizes}\n modifiers={gridModifier}\n itemsPerRow={itemsPerRow}\n bannerModifier={bannerModifier}\n enableAutoScroll={enableAutoScroll}\n enableSmoothScroll={enableSmoothScroll}\n autoScrollTimer={autoScrollTimer}\n numberOfCards={parsedCardsData.length}>\n {parsedCardsData.map((currentEntity, index) => {\n const { baseAdunit, id, ...entityProps } = currentEntity;\n const shouldRenderBanner = !!banner && checkIfShouldRenderBanner(index, banner);\n const extraProps = parsePropsToDisplay(entityProps, propsToDisplay);\n const dynamicKey = [itemId, index].join('-');\n const priority = !!enableSmoothScroll || (priorityLimit > 0 && index + 1 <= priorityLimit);\n if (hasNewBannerSettings && shouldRenderBanner) bannerIndex += 1;\n if (!hasNewBannerSettings && baseAdunit) bannerIndex += 1;\n const parsedCardProps = {\n key: id,\n id,\n enableCarousel,\n graphqlEntityMap,\n propsToDisplay,\n parsedPropsToDisplay: extraProps,\n propsToDisplayModifiers,\n modifier,\n style,\n cardChildren,\n gtmChildren,\n gtmId: name,\n gridModifier,\n entityProps,\n displayCategory,\n displayThumbnail,\n displayTitle,\n priority,\n enableOverlay,\n overlayModifier,\n titleOverlayModifier,\n ...entityProps\n };\n const bannerProps = { ...banner, type: 'banner' };\n\n if (hasNewBannerSettings)\n return (\n <>\n <Card key={id} {...parsedCardProps} />\n {shouldRenderBanner && (\n <Banner\n key={dynamicKey}\n entity={graphqlEntityMap[entityProps.__typename]}\n baseAdunit={baseAdunit}\n {...entityProps}\n {...bannerProps}\n modifier={modifier}\n renderCounter={bannerIndex}\n />\n )}\n </>\n );\n return baseAdunit ? (\n <Banner\n key={dynamicKey}\n entity={graphqlEntityMap[entityProps.__typename]}\n baseAdunit={baseAdunit}\n {...entityProps}\n {...bannerProps}\n modifier={modifier}\n renderCounter={bannerIndex}\n />\n ) : (\n <Card key={id} {...parsedCardProps} />\n );\n })}\n </CardWrapper>\n );\n};\n\nCardContainer.propTypes = {\n pageBuilderComponents: PropTypes.array,\n cardData: PropTypes.array.isRequired,\n graphqlEntityMap: PropTypes.object.isRequired,\n name: PropTypes.string,\n entity: PropTypes.string.isRequired,\n gridModifier: PropTypes.string,\n gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n propsToDisplay: PropTypes.array,\n displayCategory: PropTypes.bool,\n displayThumbnail: PropTypes.bool,\n displayTitle: PropTypes.bool,\n modifier: PropTypes.string,\n style: PropTypes.string,\n designConfig: PropTypes.object,\n itemsPerRow: PropTypes.number,\n enableSmoothScroll: PropTypes.bool,\n enableCarousel: PropTypes.bool,\n bannerModifier: PropTypes.string,\n priorityLimit: PropTypes.number,\n enableAutoScroll: PropTypes.bool,\n enableOverlay: PropTypes.bool,\n overlayModifier: PropTypes.string,\n titleOverlayModifier: PropTypes.string,\n autoScrollTimer: PropTypes.number\n};\n\nCardContainer.defaultProps = {\n gtmChildren: [],\n cardChildren: [],\n pageBuilderComponents: [],\n name: '',\n gridModifier: '',\n propsToDisplay: [],\n displayCategory: true,\n displayThumbnail: true,\n displayTitle: true,\n modifier: '',\n style: 'portrait',\n designConfig: {},\n itemsPerRow: 1,\n enableSmoothScroll: false,\n enableCarousel: false,\n bannerModifier: '',\n priorityLimit: 0,\n enableAutoScroll: false,\n enableOverlay: false,\n autoScrollTimer: 0,\n overlayModifier: '',\n titleOverlayModifier: ''\n};\n\nexport default withTitle(CardContainer);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"CardsContainer.js","names":["React","useContext","PropTypes","MainContext","withTitle","Banner","Wrapper","CarouselWrapper","Card","getDynamicGridClasses","getEntitiesWithBanner","parsePropsToDisplay","getPropsToDisplayModifiers","checkIfShouldRenderBanner","checkNewBannerSettings","CardContainer","_ref","cardData","gridModifier","style","displayCategory","displayThumbnail","displayTitle","modifier","entity","legacyEntity","graphqlEntityMap","propsToDisplay","gtmChildren","cardChildren","name","designConfig","itemsPerRow","enableSmoothScroll","enableCarousel","bannerModifier","priorityLimit","enableAutoScroll","enableOverlay","autoScrollTimer","overlayModifier","titleOverlayModifier","VariantComponent","cardProps","_objectWithoutProperties","_excluded","itemId","banner","hasNewBannerSettings","parsedCardsData","propsToDisplayModifiers","dynamicWrapperSizes","InitialWrapper","CardWrapper","bannerIndex","createElement","className","modifiers","numberOfCards","length","map","currentEntity","index","baseAdunit","id","entityProps","_excluded2","shouldRenderBanner","extraProps","dynamicKey","join","priority","parsedCardProps","_objectSpread","key","parsedPropsToDisplay","gtmId","bannerProps","type","Fragment","_extends","__typename","renderCounter","propTypes","pageBuilderComponents","array","isRequired","object","string","oneOfType","arrayOf","node","bool","number","func","defaultProps"],"sources":["../../../src/components/Card/CardsContainer.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { withTitle } from '../../HOC';\nimport Banner from '../Banner';\nimport Wrapper from '../Wrapper';\nimport CarouselWrapper from '../CarouselWrapper';\nimport Card from './Card';\nimport { getDynamicGridClasses } from './helpers';\nimport { getEntitiesWithBanner, parsePropsToDisplay } from '../../helpers';\nimport { getPropsToDisplayModifiers } from '../../utils';\nimport { checkIfShouldRenderBanner, checkNewBannerSettings } from '../List/components/helpers';\n\nconst CardContainer = ({\n cardData,\n gridModifier,\n style,\n displayCategory,\n displayThumbnail,\n displayTitle,\n modifier,\n entity: legacyEntity,\n graphqlEntityMap,\n propsToDisplay,\n gtmChildren,\n cardChildren,\n name,\n designConfig,\n itemsPerRow,\n enableSmoothScroll,\n enableCarousel,\n bannerModifier,\n priorityLimit,\n enableAutoScroll,\n enableOverlay,\n autoScrollTimer,\n overlayModifier,\n titleOverlayModifier,\n VariantComponent,\n ...cardProps\n}) => {\n const { itemId } = useContext(MainContext);\n const { banner } = cardProps;\n // TODO: remove this check and all associated code once old banner setup is no longer supported\n const hasNewBannerSettings = checkNewBannerSettings(banner);\n const parsedCardsData = getEntitiesWithBanner(cardData, cardProps, hasNewBannerSettings);\n const propsToDisplayModifiers = getPropsToDisplayModifiers(propsToDisplay);\n const dynamicWrapperSizes = enableCarousel\n ? ''\n : getDynamicGridClasses('grid', itemsPerRow, designConfig);\n const InitialWrapper = enableCarousel ? CarouselWrapper : Wrapper;\n const CardWrapper = VariantComponent || InitialWrapper;\n let bannerIndex = 0;\n\n return (\n <CardWrapper\n className={dynamicWrapperSizes}\n modifiers={gridModifier}\n itemsPerRow={itemsPerRow}\n bannerModifier={bannerModifier}\n enableAutoScroll={enableAutoScroll}\n enableSmoothScroll={enableSmoothScroll}\n autoScrollTimer={autoScrollTimer}\n numberOfCards={parsedCardsData.length}>\n {parsedCardsData.map((currentEntity, index) => {\n const { baseAdunit, id, ...entityProps } = currentEntity;\n const shouldRenderBanner = !!banner && checkIfShouldRenderBanner(index, banner);\n const extraProps = parsePropsToDisplay(entityProps, propsToDisplay);\n const dynamicKey = [itemId, index].join('-');\n const priority = !!enableSmoothScroll || (priorityLimit > 0 && index + 1 <= priorityLimit);\n if (hasNewBannerSettings && shouldRenderBanner) bannerIndex += 1;\n if (!hasNewBannerSettings && baseAdunit) bannerIndex += 1;\n const parsedCardProps = {\n key: id,\n id,\n enableCarousel,\n graphqlEntityMap,\n propsToDisplay,\n parsedPropsToDisplay: extraProps,\n propsToDisplayModifiers,\n modifier,\n style,\n cardChildren,\n gtmChildren,\n gtmId: name,\n gridModifier,\n entityProps,\n displayCategory,\n displayThumbnail,\n displayTitle,\n priority,\n enableOverlay,\n overlayModifier,\n titleOverlayModifier,\n ...entityProps\n };\n const bannerProps = { ...banner, type: 'banner' };\n\n if (hasNewBannerSettings)\n return (\n <>\n <Card key={id} {...parsedCardProps} />\n {shouldRenderBanner && (\n <Banner\n key={dynamicKey}\n entity={graphqlEntityMap[entityProps.__typename]}\n baseAdunit={baseAdunit}\n {...entityProps}\n {...bannerProps}\n modifier={modifier}\n renderCounter={bannerIndex}\n />\n )}\n </>\n );\n return baseAdunit ? (\n <Banner\n key={dynamicKey}\n entity={graphqlEntityMap[entityProps.__typename]}\n baseAdunit={baseAdunit}\n {...entityProps}\n {...bannerProps}\n modifier={modifier}\n renderCounter={bannerIndex}\n />\n ) : (\n <Card key={id} {...parsedCardProps} />\n );\n })}\n </CardWrapper>\n );\n};\n\nCardContainer.propTypes = {\n pageBuilderComponents: PropTypes.array,\n cardData: PropTypes.array.isRequired,\n graphqlEntityMap: PropTypes.object.isRequired,\n name: PropTypes.string,\n entity: PropTypes.string.isRequired,\n gridModifier: PropTypes.string,\n gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n propsToDisplay: PropTypes.array,\n displayCategory: PropTypes.bool,\n displayThumbnail: PropTypes.bool,\n displayTitle: PropTypes.bool,\n modifier: PropTypes.string,\n style: PropTypes.string,\n designConfig: PropTypes.object,\n itemsPerRow: PropTypes.number,\n enableSmoothScroll: PropTypes.bool,\n enableCarousel: PropTypes.bool,\n bannerModifier: PropTypes.string,\n priorityLimit: PropTypes.number,\n enableAutoScroll: PropTypes.bool,\n enableOverlay: PropTypes.bool,\n overlayModifier: PropTypes.string,\n titleOverlayModifier: PropTypes.string,\n autoScrollTimer: PropTypes.number,\n VariantComponent: PropTypes.func\n};\n\nCardContainer.defaultProps = {\n gtmChildren: [],\n cardChildren: [],\n pageBuilderComponents: [],\n name: '',\n gridModifier: '',\n propsToDisplay: [],\n displayCategory: true,\n displayThumbnail: true,\n displayTitle: true,\n modifier: '',\n style: 'portrait',\n designConfig: {},\n itemsPerRow: 1,\n enableSmoothScroll: false,\n enableCarousel: false,\n bannerModifier: '',\n priorityLimit: 0,\n enableAutoScroll: false,\n enableOverlay: false,\n autoScrollTimer: 0,\n overlayModifier: '',\n titleOverlayModifier: '',\n VariantComponent: null\n};\n\nexport default withTitle(CardContainer);\n"],"mappings":"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","ignoreList":[]}
@@ -1,24 +1,38 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- const _excluded = ["entity", "entities", "propsToDisplay", "itemsToDisplay", "itemListName"],
3
+ const _excluded = ["entity", "entities", "propsToDisplay", "itemsToDisplay", "itemListName", "VariantComponent"],
4
4
  _excluded2 = ["gridModifier"];
5
5
  import React from 'react';
6
6
  import { useQuery } from '@apollo/client';
7
7
  import PropTypes from 'prop-types';
8
- import { getSingleEntitySchema } from '../../application/query';
8
+ import { useRouter } from 'next/router';
9
+ import { parseUrl } from 'query-string';
10
+ import { getSingleEntitySchema, getItemList } from '../../application/query';
9
11
  import CardsRender from './CardsRender';
10
12
  import { buildPropsQuery, getGenericProps, checkPropsToUse } from '../../helpers';
11
13
  import { WITH_BANNER } from '../../constants';
14
+ import { getItemListId, getItemListIds } from '../ItemList/helpers';
12
15
  const CardsFactory = _ref => {
13
16
  let {
14
17
  entity,
15
18
  entities,
16
19
  propsToDisplay,
17
20
  itemsToDisplay,
18
- itemListName
21
+ itemListName,
22
+ VariantComponent
19
23
  } = _ref,
20
24
  cardProps = _objectWithoutProperties(_ref, _excluded);
21
25
  const entityTouse = entities && entities.length ? entities[0] : entity;
26
+ const router = useRouter();
27
+ const {
28
+ asPath
29
+ } = router;
30
+ const parsedQuery = asPath.replace(/%5D/g, ']').replace(/%5B/g, '[');
31
+ const {
32
+ query: {
33
+ itemListId: queryItemListId
34
+ } = {}
35
+ } = parseUrl(parsedQuery);
22
36
  const {
23
37
  data,
24
38
  error,
@@ -28,8 +42,19 @@ const CardsFactory = _ref => {
28
42
  id: entityTouse
29
43
  }
30
44
  });
31
- if (loading) return '';
32
- if (error) return error.message;
45
+ const itemListId = getItemListId(itemListName, queryItemListId);
46
+ const {
47
+ data: itemListData = {},
48
+ loading: itemListLoading,
49
+ error: itemListError
50
+ } = useQuery(getItemList, {
51
+ variables: {
52
+ id: itemListId
53
+ },
54
+ skip: !itemListId
55
+ });
56
+ if (loading || itemListLoading) return '';
57
+ if (error || itemListError) return error.message || itemListError.message;
33
58
  if (!data) return null;
34
59
  const propsToDisplayValues = checkPropsToUse(propsToDisplay);
35
60
  const extraProps = buildPropsQuery(data, propsToDisplayValues, cardProps) || '';
@@ -39,12 +64,16 @@ const CardsFactory = _ref => {
39
64
  } = _getGenericProps,
40
65
  cardRenderProps = _objectWithoutProperties(_getGenericProps, _excluded2);
41
66
  const extraModifierForBanner = cardRenderProps.banner ? WITH_BANNER : '';
67
+ const itemListIds = getItemListIds(itemListData);
68
+ const itemsToDisplayToUse = itemListIds || itemsToDisplay;
69
+ if (itemListName && !itemListIds) return null;
42
70
  return /*#__PURE__*/React.createElement(CardsRender, _extends({
43
71
  gridModifier: `${gridModifier}${extraModifierForBanner}`,
44
72
  bannerModifier: extraModifierForBanner,
45
- itemsToDisplay: itemsToDisplay,
73
+ itemsToDisplay: itemsToDisplayToUse,
46
74
  propsToDisplay: propsToDisplay,
47
- entityFields: extraProps
75
+ entityFields: extraProps,
76
+ VariantComponent: VariantComponent
48
77
  }, cardRenderProps, {
49
78
  entity: entityTouse,
50
79
  entities: entities
@@ -55,14 +84,16 @@ CardsFactory.propTypes = {
55
84
  propsToDisplay: PropTypes.array,
56
85
  itemsToDisplay: PropTypes.array,
57
86
  itemListName: PropTypes.string,
58
- entities: PropTypes.array
87
+ entities: PropTypes.array,
88
+ VariantComponent: PropTypes.func
59
89
  };
60
90
  CardsFactory.defaultProps = {
61
91
  propsToDisplay: [],
62
92
  itemsToDisplay: [],
63
93
  itemListName: '',
64
94
  entity: null,
65
- entities: null
95
+ entities: null,
96
+ VariantComponent: null
66
97
  };
67
98
  export default CardsFactory;
68
99
  //# sourceMappingURL=CardsFactory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CardsFactory.js","names":["React","useQuery","PropTypes","getSingleEntitySchema","CardsRender","buildPropsQuery","getGenericProps","checkPropsToUse","WITH_BANNER","CardsFactory","_ref","entity","entities","propsToDisplay","itemsToDisplay","itemListName","cardProps","_objectWithoutProperties","_excluded","entityTouse","length","data","error","loading","variables","id","message","propsToDisplayValues","extraProps","_getGenericProps","gridModifier","cardRenderProps","_excluded2","extraModifierForBanner","banner","createElement","_extends","bannerModifier","entityFields","propTypes","string","array","defaultProps"],"sources":["../../../src/components/Card/CardsFactory.js"],"sourcesContent":["import React from 'react';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { getSingleEntitySchema } from '../../application/query';\nimport CardsRender from './CardsRender';\nimport { buildPropsQuery, getGenericProps, checkPropsToUse } from '../../helpers';\nimport { WITH_BANNER } from '../../constants';\n\nconst CardsFactory = ({\n entity,\n entities,\n propsToDisplay,\n itemsToDisplay,\n itemListName,\n ...cardProps\n}) => {\n const entityTouse = entities && entities.length ? entities[0] : entity;\n const { data, error, loading } = useQuery(getSingleEntitySchema, {\n variables: { id: entityTouse }\n });\n\n if (loading) return '';\n if (error) return error.message;\n if (!data) return null;\n\n const propsToDisplayValues = checkPropsToUse(propsToDisplay);\n const extraProps = buildPropsQuery(data, propsToDisplayValues, cardProps) || '';\n const { gridModifier, ...cardRenderProps } = getGenericProps(cardProps);\n const extraModifierForBanner = cardRenderProps.banner ? WITH_BANNER : '';\n\n return (\n <CardsRender\n gridModifier={`${gridModifier}${extraModifierForBanner}`}\n bannerModifier={extraModifierForBanner}\n itemsToDisplay={itemsToDisplay}\n propsToDisplay={propsToDisplay}\n entityFields={extraProps}\n {...cardRenderProps}\n entity={entityTouse}\n entities={entities}\n />\n );\n};\n\nCardsFactory.propTypes = {\n entity: PropTypes.string,\n propsToDisplay: PropTypes.array,\n itemsToDisplay: PropTypes.array,\n itemListName: PropTypes.string,\n entities: PropTypes.array\n};\n\nCardsFactory.defaultProps = {\n propsToDisplay: [],\n itemsToDisplay: [],\n itemListName: '',\n entity: null,\n entities: null\n};\n\nexport default CardsFactory;\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,QAAQ,gBAAgB;AACzC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,qBAAqB,QAAQ,yBAAyB;AAC/D,OAAOC,WAAW,MAAM,eAAe;AACvC,SAASC,eAAe,EAAEC,eAAe,EAAEC,eAAe,QAAQ,eAAe;AACjF,SAASC,WAAW,QAAQ,iBAAiB;AAE7C,MAAMC,YAAY,GAAGC,IAAA,IAOf;EAAA,IAPgB;MACpBC,MAAM;MACNC,QAAQ;MACRC,cAAc;MACdC,cAAc;MACdC;IAEF,CAAC,GAAAL,IAAA;IADIM,SAAS,GAAAC,wBAAA,CAAAP,IAAA,EAAAQ,SAAA;EAEZ,MAAMC,WAAW,GAAGP,QAAQ,IAAIA,QAAQ,CAACQ,MAAM,GAAGR,QAAQ,CAAC,CAAC,CAAC,GAAGD,MAAM;EACtE,MAAM;IAAEU,IAAI;IAAEC,KAAK;IAAEC;EAAQ,CAAC,GAAGtB,QAAQ,CAACE,qBAAqB,EAAE;IAC/DqB,SAAS,EAAE;MAAEC,EAAE,EAAEN;IAAY;EAC/B,CAAC,CAAC;EAEF,IAAII,OAAO,EAAE,OAAO,EAAE;EACtB,IAAID,KAAK,EAAE,OAAOA,KAAK,CAACI,OAAO;EAC/B,IAAI,CAACL,IAAI,EAAE,OAAO,IAAI;EAEtB,MAAMM,oBAAoB,GAAGpB,eAAe,CAACM,cAAc,CAAC;EAC5D,MAAMe,UAAU,GAAGvB,eAAe,CAACgB,IAAI,EAAEM,oBAAoB,EAAEX,SAAS,CAAC,IAAI,EAAE;EAC/E,MAAAa,gBAAA,GAA6CvB,eAAe,CAACU,SAAS,CAAC;IAAjE;MAAEc;IAAiC,CAAC,GAAAD,gBAAA;IAAjBE,eAAe,GAAAd,wBAAA,CAAAY,gBAAA,EAAAG,UAAA;EACxC,MAAMC,sBAAsB,GAAGF,eAAe,CAACG,MAAM,GAAG1B,WAAW,GAAG,EAAE;EAExE,oBACER,KAAA,CAAAmC,aAAA,CAAC/B,WAAW,EAAAgC,QAAA;IACVN,YAAY,EAAG,GAAEA,YAAa,GAAEG,sBAAuB,EAAE;IACzDI,cAAc,EAAEJ,sBAAuB;IACvCnB,cAAc,EAAEA,cAAe;IAC/BD,cAAc,EAAEA,cAAe;IAC/ByB,YAAY,EAAEV;EAAW,GACrBG,eAAe;IACnBpB,MAAM,EAAEQ,WAAY;IACpBP,QAAQ,EAAEA;EAAS,EACpB,CAAC;AAEN,CAAC;AAEDH,YAAY,CAAC8B,SAAS,GAAG;EACvB5B,MAAM,EAAET,SAAS,CAACsC,MAAM;EACxB3B,cAAc,EAAEX,SAAS,CAACuC,KAAK;EAC/B3B,cAAc,EAAEZ,SAAS,CAACuC,KAAK;EAC/B1B,YAAY,EAAEb,SAAS,CAACsC,MAAM;EAC9B5B,QAAQ,EAAEV,SAAS,CAACuC;AACtB,CAAC;AAEDhC,YAAY,CAACiC,YAAY,GAAG;EAC1B7B,cAAc,EAAE,EAAE;EAClBC,cAAc,EAAE,EAAE;EAClBC,YAAY,EAAE,EAAE;EAChBJ,MAAM,EAAE,IAAI;EACZC,QAAQ,EAAE;AACZ,CAAC;AAED,eAAeH,YAAY","ignoreList":[]}
1
+ {"version":3,"file":"CardsFactory.js","names":["React","useQuery","PropTypes","useRouter","parseUrl","getSingleEntitySchema","getItemList","CardsRender","buildPropsQuery","getGenericProps","checkPropsToUse","WITH_BANNER","getItemListId","getItemListIds","CardsFactory","_ref","entity","entities","propsToDisplay","itemsToDisplay","itemListName","VariantComponent","cardProps","_objectWithoutProperties","_excluded","entityTouse","length","router","asPath","parsedQuery","replace","query","itemListId","queryItemListId","data","error","loading","variables","id","itemListData","itemListLoading","itemListError","skip","message","propsToDisplayValues","extraProps","_getGenericProps","gridModifier","cardRenderProps","_excluded2","extraModifierForBanner","banner","itemListIds","itemsToDisplayToUse","createElement","_extends","bannerModifier","entityFields","propTypes","string","array","func","defaultProps"],"sources":["../../../src/components/Card/CardsFactory.js"],"sourcesContent":["import React from 'react';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { parseUrl } from 'query-string';\nimport { getSingleEntitySchema, getItemList } from '../../application/query';\nimport CardsRender from './CardsRender';\nimport { buildPropsQuery, getGenericProps, checkPropsToUse } from '../../helpers';\nimport { WITH_BANNER } from '../../constants';\nimport { getItemListId, getItemListIds } from '../ItemList/helpers';\n\nconst CardsFactory = ({\n entity,\n entities,\n propsToDisplay,\n itemsToDisplay,\n itemListName,\n VariantComponent,\n ...cardProps\n}) => {\n const entityTouse = entities && entities.length ? entities[0] : entity;\n const router = useRouter();\n const { asPath } = router;\n const parsedQuery = asPath.replace(/%5D/g, ']').replace(/%5B/g, '[');\n\n const { query: { itemListId: queryItemListId } = {} } = parseUrl(parsedQuery);\n\n const { data, error, loading } = useQuery(getSingleEntitySchema, {\n variables: { id: entityTouse }\n });\n\n const itemListId = getItemListId(itemListName, queryItemListId);\n\n const { data: itemListData = {}, loading: itemListLoading, error: itemListError } = useQuery(\n getItemList,\n {\n variables: { id: itemListId },\n skip: !itemListId\n }\n );\n\n if (loading || itemListLoading) return '';\n if (error || itemListError) return error.message || itemListError.message;\n if (!data) return null;\n\n const propsToDisplayValues = checkPropsToUse(propsToDisplay);\n const extraProps = buildPropsQuery(data, propsToDisplayValues, cardProps) || '';\n const { gridModifier, ...cardRenderProps } = getGenericProps(cardProps);\n const extraModifierForBanner = cardRenderProps.banner ? WITH_BANNER : '';\n\n const itemListIds = getItemListIds(itemListData);\n const itemsToDisplayToUse = itemListIds || itemsToDisplay;\n\n if (itemListName && !itemListIds) return null;\n\n return (\n <CardsRender\n gridModifier={`${gridModifier}${extraModifierForBanner}`}\n bannerModifier={extraModifierForBanner}\n itemsToDisplay={itemsToDisplayToUse}\n propsToDisplay={propsToDisplay}\n entityFields={extraProps}\n VariantComponent={VariantComponent}\n {...cardRenderProps}\n entity={entityTouse}\n entities={entities}\n />\n );\n};\n\nCardsFactory.propTypes = {\n entity: PropTypes.string,\n propsToDisplay: PropTypes.array,\n itemsToDisplay: PropTypes.array,\n itemListName: PropTypes.string,\n entities: PropTypes.array,\n VariantComponent: PropTypes.func\n};\n\nCardsFactory.defaultProps = {\n propsToDisplay: [],\n itemsToDisplay: [],\n itemListName: '',\n entity: null,\n entities: null,\n VariantComponent: null\n};\n\nexport default CardsFactory;\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
- const _excluded = ["entity", "entities", "entityFields", "itemsToDisplay", "children"];
4
+ const _excluded = ["entity", "entities", "entityFields", "itemsToDisplay", "children", "VariantComponent"];
5
5
  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; }
6
6
  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; }
7
7
  import React, { useContext } from 'react';
@@ -21,7 +21,8 @@ const CardsRender = _ref => {
21
21
  entities,
22
22
  entityFields,
23
23
  itemsToDisplay,
24
- children
24
+ children,
25
+ VariantComponent
25
26
  } = _ref,
26
27
  otherProps = _objectWithoutProperties(_ref, _excluded);
27
28
  const {
@@ -170,7 +171,8 @@ const CardsRender = _ref => {
170
171
  entity: primaryEntityToUse,
171
172
  gtmChildren: gtmChildren,
172
173
  cardChildren: regularChildren,
173
- graphqlEntityMap: graphqlEntityMap
174
+ graphqlEntityMap: graphqlEntityMap,
175
+ VariantComponent: VariantComponent
174
176
  }, variableProps)));
175
177
  };
176
178
  CardsRender.propTypes = {
@@ -178,12 +180,14 @@ CardsRender.propTypes = {
178
180
  entity: PropTypes.string.isRequired,
179
181
  entityFields: PropTypes.string.isRequired,
180
182
  itemsToDisplay: PropTypes.array,
181
- entities: PropTypes.array
183
+ entities: PropTypes.array,
184
+ VariantComponent: PropTypes.func
182
185
  };
183
186
  CardsRender.defaultProps = {
184
187
  children: [],
185
188
  itemsToDisplay: [],
186
- entities: []
189
+ entities: [],
190
+ VariantComponent: null
187
191
  };
188
192
  export default CardsRender;
189
193
  //# sourceMappingURL=CardsRender.js.map