@blaze-cms/react-page-builder 0.125.0-f-admin-updates.3 → 0.125.0

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 (159) hide show
  1. package/CHANGELOG.md +65 -2
  2. package/README.md +14 -4
  3. package/example.env +1 -0
  4. package/lib/components/Button.js +14 -5
  5. package/lib/components/Button.js.map +1 -1
  6. package/lib/components/Card/Card.js +53 -25
  7. package/lib/components/Card/Card.js.map +1 -1
  8. package/lib/components/Card/CardContainer.js +2 -1
  9. package/lib/components/Card/CardContainer.js.map +1 -1
  10. package/lib/components/Card/constants.js +3 -1
  11. package/lib/components/Card/constants.js.map +1 -1
  12. package/lib/components/ContentGroup/ContentGroup.js +29 -0
  13. package/lib/components/ContentGroup/ContentGroup.js.map +1 -0
  14. package/lib/components/ContentGroup/ContentGroupTabs.js +94 -0
  15. package/lib/components/ContentGroup/ContentGroupTabs.js.map +1 -0
  16. package/lib/components/{Login → ContentGroup}/index.js +2 -2
  17. package/lib/components/ContentGroup/index.js.map +1 -0
  18. package/lib/components/ContentGroupSection/ContentGroupSection.js +30 -0
  19. package/lib/components/ContentGroupSection/ContentGroupSection.js.map +1 -0
  20. package/lib/components/{PasswordReset → ContentGroupSection}/index.js +2 -2
  21. package/lib/components/ContentGroupSection/index.js.map +1 -0
  22. package/lib/components/List/components/Cards/CardsRender.js.map +1 -1
  23. package/lib/components/List/components/Cards/CardsRenderItem.js +2 -1
  24. package/lib/components/List/components/Cards/CardsRenderItem.js.map +1 -1
  25. package/lib/components/index.js +10 -15
  26. package/lib/components/index.js.map +1 -1
  27. package/lib/constants/index.js +2 -14
  28. package/lib/constants/index.js.map +1 -1
  29. package/lib/hooks/helpers/get-banners-by-type.js +1 -1
  30. package/lib/hooks/helpers/get-banners-by-type.js.map +1 -1
  31. package/lib/index.js +6 -0
  32. package/lib/index.js.map +1 -1
  33. package/lib-es/components/Button.js +13 -6
  34. package/lib-es/components/Button.js.map +1 -1
  35. package/lib-es/components/Card/Card.js +34 -8
  36. package/lib-es/components/Card/Card.js.map +1 -1
  37. package/lib-es/components/Card/CardContainer.js +2 -1
  38. package/lib-es/components/Card/CardContainer.js.map +1 -1
  39. package/lib-es/components/Card/constants.js +2 -1
  40. package/lib-es/components/Card/constants.js.map +1 -1
  41. package/lib-es/components/ContentGroup/ContentGroup.js +22 -0
  42. package/lib-es/components/ContentGroup/ContentGroup.js.map +1 -0
  43. package/lib-es/components/ContentGroup/ContentGroupTabs.js +72 -0
  44. package/lib-es/components/ContentGroup/ContentGroupTabs.js.map +1 -0
  45. package/lib-es/components/ContentGroup/index.js +3 -0
  46. package/lib-es/components/ContentGroup/index.js.map +1 -0
  47. package/lib-es/components/ContentGroupSection/ContentGroupSection.js +23 -0
  48. package/lib-es/components/ContentGroupSection/ContentGroupSection.js.map +1 -0
  49. package/lib-es/components/ContentGroupSection/index.js +3 -0
  50. package/lib-es/components/ContentGroupSection/index.js.map +1 -0
  51. package/lib-es/components/List/components/Cards/CardsRender.js.map +1 -1
  52. package/lib-es/components/List/components/Cards/CardsRenderItem.js +2 -1
  53. package/lib-es/components/List/components/Cards/CardsRenderItem.js.map +1 -1
  54. package/lib-es/components/index.js +3 -4
  55. package/lib-es/components/index.js.map +1 -1
  56. package/lib-es/constants/index.js +1 -7
  57. package/lib-es/constants/index.js.map +1 -1
  58. package/lib-es/hooks/helpers/get-banners-by-type.js +1 -1
  59. package/lib-es/hooks/helpers/get-banners-by-type.js.map +1 -1
  60. package/lib-es/index.js +1 -1
  61. package/lib-es/index.js.map +1 -1
  62. package/package.json +7 -6
  63. package/src/components/Button.js +11 -4
  64. package/src/components/Card/Card.js +37 -5
  65. package/src/components/Card/CardContainer.js +2 -1
  66. package/src/components/Card/constants.js +2 -1
  67. package/src/components/ContentGroup/ContentGroup.js +17 -0
  68. package/src/components/ContentGroup/ContentGroupTabs.js +74 -0
  69. package/src/components/ContentGroup/index.js +3 -0
  70. package/src/components/ContentGroupSection/ContentGroupSection.js +17 -0
  71. package/src/components/ContentGroupSection/index.js +3 -0
  72. package/src/components/List/components/Cards/CardsRender.js +1 -0
  73. package/src/components/List/components/Cards/CardsRenderItem.js +2 -1
  74. package/src/components/index.js +8 -8
  75. package/src/constants/index.js +0 -13
  76. package/src/hooks/helpers/get-banners-by-type.js +1 -1
  77. package/src/index.js +1 -1
  78. package/tests/unit/src/components/Button.test.js +7 -0
  79. package/tests/unit/src/components/Card/Card.test.js +18 -7
  80. package/tests/unit/src/components/Card/__snapshots__/Card.test.js.snap +5 -0
  81. package/tests/unit/src/components/ContentGroup/ContentGroup.test.js +13 -0
  82. package/tests/unit/src/components/ContentGroup/ContentGroupTabs.test.js +16 -0
  83. package/tests/unit/src/components/ContentGroup/__snapshots__/ContentGroup.test.js.snap +5 -0
  84. package/tests/unit/src/components/ContentGroup/__snapshots__/ContentGroupTabs.test.js.snap +5 -0
  85. package/tests/unit/src/components/ContentGroupSection/ContentGroupSection.test.js +17 -0
  86. package/tests/unit/src/components/ContentGroupSection/__snapshots__/ContentGroupSection.test.js.snap +15 -0
  87. package/tests/unit/src/components/__snapshots__/index.test.js.snap +8 -12
  88. package/lib/components/Login/LoggedInMessage.js +0 -28
  89. package/lib/components/Login/LoggedInMessage.js.map +0 -1
  90. package/lib/components/Login/Login.js +0 -135
  91. package/lib/components/Login/Login.js.map +0 -1
  92. package/lib/components/Login/LoginForm.js +0 -112
  93. package/lib/components/Login/LoginForm.js.map +0 -1
  94. package/lib/components/Login/helpers/check-gtm-children.js +0 -42
  95. package/lib/components/Login/helpers/check-gtm-children.js.map +0 -1
  96. package/lib/components/Login/helpers/get-url-to-use.js +0 -18
  97. package/lib/components/Login/helpers/get-url-to-use.js.map +0 -1
  98. package/lib/components/Login/helpers/index.js +0 -22
  99. package/lib/components/Login/helpers/index.js.map +0 -1
  100. package/lib/components/Login/index.js.map +0 -1
  101. package/lib/components/PasswordReset/PasswordReset.js +0 -172
  102. package/lib/components/PasswordReset/PasswordReset.js.map +0 -1
  103. package/lib/components/PasswordReset/helpers/index.js +0 -15
  104. package/lib/components/PasswordReset/helpers/index.js.map +0 -1
  105. package/lib/components/PasswordReset/helpers/validatePassword.js +0 -16
  106. package/lib/components/PasswordReset/helpers/validatePassword.js.map +0 -1
  107. package/lib/components/PasswordReset/index.js.map +0 -1
  108. package/lib/components/PasswordResetRequest/PasswordResetRequest.js +0 -114
  109. package/lib/components/PasswordResetRequest/PasswordResetRequest.js.map +0 -1
  110. package/lib/components/PasswordResetRequest/index.js +0 -12
  111. package/lib/components/PasswordResetRequest/index.js.map +0 -1
  112. package/lib-es/components/Login/LoggedInMessage.js +0 -18
  113. package/lib-es/components/Login/LoggedInMessage.js.map +0 -1
  114. package/lib-es/components/Login/Login.js +0 -83
  115. package/lib-es/components/Login/Login.js.map +0 -1
  116. package/lib-es/components/Login/LoginForm.js +0 -89
  117. package/lib-es/components/Login/LoginForm.js.map +0 -1
  118. package/lib-es/components/Login/helpers/check-gtm-children.js +0 -35
  119. package/lib-es/components/Login/helpers/check-gtm-children.js.map +0 -1
  120. package/lib-es/components/Login/helpers/get-url-to-use.js +0 -10
  121. package/lib-es/components/Login/helpers/get-url-to-use.js.map +0 -1
  122. package/lib-es/components/Login/helpers/index.js +0 -4
  123. package/lib-es/components/Login/helpers/index.js.map +0 -1
  124. package/lib-es/components/Login/index.js +0 -3
  125. package/lib-es/components/Login/index.js.map +0 -1
  126. package/lib-es/components/PasswordReset/PasswordReset.js +0 -144
  127. package/lib-es/components/PasswordReset/PasswordReset.js.map +0 -1
  128. package/lib-es/components/PasswordReset/helpers/index.js +0 -3
  129. package/lib-es/components/PasswordReset/helpers/index.js.map +0 -1
  130. package/lib-es/components/PasswordReset/helpers/validatePassword.js +0 -7
  131. package/lib-es/components/PasswordReset/helpers/validatePassword.js.map +0 -1
  132. package/lib-es/components/PasswordReset/index.js +0 -3
  133. package/lib-es/components/PasswordReset/index.js.map +0 -1
  134. package/lib-es/components/PasswordResetRequest/PasswordResetRequest.js +0 -92
  135. package/lib-es/components/PasswordResetRequest/PasswordResetRequest.js.map +0 -1
  136. package/lib-es/components/PasswordResetRequest/index.js +0 -3
  137. package/lib-es/components/PasswordResetRequest/index.js.map +0 -1
  138. package/src/components/Login/LoggedInMessage.js +0 -24
  139. package/src/components/Login/Login.js +0 -74
  140. package/src/components/Login/LoginForm.js +0 -81
  141. package/src/components/Login/helpers/check-gtm-children.js +0 -30
  142. package/src/components/Login/helpers/get-url-to-use.js +0 -6
  143. package/src/components/Login/helpers/index.js +0 -4
  144. package/src/components/Login/index.js +0 -3
  145. package/src/components/PasswordReset/PasswordReset.js +0 -120
  146. package/src/components/PasswordReset/helpers/index.js +0 -3
  147. package/src/components/PasswordReset/helpers/validatePassword.js +0 -8
  148. package/src/components/PasswordReset/index.js +0 -3
  149. package/src/components/PasswordResetRequest/PasswordResetRequest.js +0 -82
  150. package/src/components/PasswordResetRequest/index.js +0 -3
  151. package/tests/unit/src/components/Login/Login.test.js +0 -36
  152. package/tests/unit/src/components/Login/__snapshots__/Login.test.js.snap +0 -103
  153. package/tests/unit/src/components/Login/helpers/check-gtm-children.test.js +0 -60
  154. package/tests/unit/src/components/Login/helpers/get-url-to-use.test.js +0 -15
  155. package/tests/unit/src/components/PasswordReset/PasswordReset.test.js +0 -85
  156. package/tests/unit/src/components/PasswordReset/__snapshots__/PasswordReset.test.js.snap +0 -83
  157. package/tests/unit/src/components/PasswordReset/helpers/validatePassword.test.js +0 -21
  158. package/tests/unit/src/components/PasswordResetRequest/PasswordResetRequest.test.js +0 -79
  159. package/tests/unit/src/components/PasswordResetRequest/__snapshots__/PasswordResetRequest.test.js.snap +0 -39
package/CHANGELOG.md CHANGED
@@ -3,7 +3,7 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- # [0.125.0-f-admin-updates.3](https://github.com/thebyte9/blaze/compare/v0.125.0-f-admin-updates.2...v0.125.0-f-admin-updates.3) (2022-11-10)
6
+ # [0.125.0](https://github.com/thebyte9/blaze/compare/v0.125.0-alpha.18...v0.125.0) (2022-11-30)
7
7
 
8
8
  **Note:** Version bump only for package @blaze-cms/react-page-builder
9
9
 
@@ -11,7 +11,62 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
11
11
 
12
12
 
13
13
 
14
- # [0.125.0-f-admin-updates.0](https://github.com/thebyte9/blaze/compare/v0.124.1...v0.125.0-f-admin-updates.0) (2022-10-06)
14
+ # [0.125.0-alpha.18](https://github.com/thebyte9/blaze/compare/v0.125.0-alpha.17...v0.125.0-alpha.18) (2022-11-28)
15
+
16
+
17
+ ### Features
18
+
19
+ * add autoLogin function to auth provider requirements ([3f5e7ed](https://github.com/thebyte9/blaze/commit/3f5e7ed949052dcc6296ac7defe87ddce6869a65))
20
+ * allow setting custom html attribute on props to display ([115e3f1](https://github.com/thebyte9/blaze/commit/115e3f1540abfe6a5dd32dbebc2a4474197c262e))
21
+
22
+
23
+
24
+
25
+
26
+ # [0.125.0-alpha.15](https://github.com/thebyte9/blaze/compare/v0.125.0-alpha.14...v0.125.0-alpha.15) (2022-11-16)
27
+
28
+
29
+ ### Bug Fixes
30
+
31
+ * added link handler to card ([#3692](https://github.com/thebyte9/blaze/issues/3692)) ([d7c003d](https://github.com/thebyte9/blaze/commit/d7c003d85e4e8fba4c7707a61ea33cb9ac86fceb))
32
+
33
+
34
+ ### Features
35
+
36
+ * GroupContent components ([#3678](https://github.com/thebyte9/blaze/issues/3678)) ([b6f5c7e](https://github.com/thebyte9/blaze/commit/b6f5c7e6e5a03f2322f3d3c1568c9d42b33ede45))
37
+
38
+
39
+
40
+
41
+
42
+ # [0.125.0-alpha.14](https://github.com/thebyte9/blaze/compare/v0.125.0-alpha.13...v0.125.0-alpha.14) (2022-10-25)
43
+
44
+ **Note:** Version bump only for package @blaze-cms/react-page-builder
45
+
46
+
47
+
48
+
49
+
50
+ # [0.125.0-alpha.13](https://github.com/thebyte9/blaze/compare/v0.125.0-alpha.12...v0.125.0-alpha.13) (2022-10-24)
51
+
52
+
53
+ ### Features
54
+
55
+ * dynamic values hook and dynamic PB button properties ([#3643](https://github.com/thebyte9/blaze/issues/3643)) ([16411e7](https://github.com/thebyte9/blaze/commit/16411e731e9ac1d05312bca59156be89a554e25b))
56
+
57
+
58
+
59
+
60
+
61
+ # [0.125.0-alpha.7](https://github.com/thebyte9/blaze/compare/v0.125.0-alpha.6...v0.125.0-alpha.7) (2022-10-07)
62
+
63
+ **Note:** Version bump only for package @blaze-cms/react-page-builder
64
+
65
+
66
+
67
+
68
+
69
+ # [0.125.0-alpha.3](https://github.com/thebyte9/blaze/compare/v0.125.0-alpha.2...v0.125.0-alpha.3) (2022-09-27)
15
70
 
16
71
 
17
72
  ### Features
@@ -22,6 +77,14 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
22
77
 
23
78
 
24
79
 
80
+ # [0.125.0-alpha.1](https://github.com/thebyte9/blaze/compare/v0.125.0-alpha.0...v0.125.0-alpha.1) (2022-09-15)
81
+
82
+ **Note:** Version bump only for package @blaze-cms/react-page-builder
83
+
84
+
85
+
86
+
87
+
25
88
  ## [0.124.1](https://github.com/thebyte9/blaze/compare/v0.124.1-alpha.5...v0.124.1) (2022-09-06)
26
89
 
27
90
  **Note:** Version bump only for package @blaze-cms/react-page-builder
package/README.md CHANGED
@@ -22,6 +22,13 @@ The `sizeKey` is used to identifiy responsive image settings in responsive image
22
22
  - modifier set: `image:modifier-value`
23
23
  - isHero and modifier set: `image:hero:modifier-value`
24
24
 
25
+ ## Button
26
+ The following button component properties support dynamic values using [handlebar templates](../blaze-utitls-handlebars/README.md).
27
+ - url e.g. `/search?={{ currentParent.name }}`
28
+ - text
29
+ - after click text
30
+ - url
31
+
25
32
  ## Textblock
26
33
 
27
34
  The textblock renders without a wrapper unless a modifier is set OR the `BLAZE_PB_TEXTBLOCK_WRAPPER_ENABLE` env variable is set to true.
@@ -92,9 +99,9 @@ _Source_ for checking ads https://dfpgpt.appspot.com/.
92
99
 
93
100
  ## Item List components
94
101
  There are three components related to item lists
95
- - ItemListButton: add/remove items from list
96
- - ItemListCounter: shows a counter of items in a list
97
- - ItemListNew: Clears the stored local list
102
+ - itemListButton: add/remove items from list
103
+ - itemListCounter: shows a counter of items in a list
104
+ - itemListNew: Clears the stored local list
98
105
 
99
106
  List components are link by the "listName" property and when a new list is created the id of the list is stored in local storage.
100
107
 
@@ -108,7 +115,8 @@ List components are link by the "listName" property and when a new list is creat
108
115
 
109
116
  - displayCategory: if true this will fetch the alternativePreHeader or category set on the record and display in the card. If the alternativePreHeader is set this takes priority over the category. If this option is not set these properties will not be included in the query.
110
117
  - displayThumbnail: if true this will fetch the default card image url to displayed the the card
111
-
118
+ - propsToDisplay:
119
+ - htmlAttribute: allows setting of a custom html attribute on the prop to display. The value will be escaped e.g. `<span html-attribute-value="ESCAPED%20VALUE">`
112
120
  ## Code
113
121
 
114
122
  The code block can parse a string of HTML and render it as react components. The code block will activate script blocks in the html string by wrapping them in a `<span>` and then inserting the script tag into the DOM on render using `appendChild`.
@@ -366,3 +374,5 @@ after: ITEM ITEM _BANNER_ ITEM ITEM ITEM _BANNER_ ITEM ITEM _BANNER_ ITEM ITEM I
366
374
  | BLAZE_PB_TEXTBLOCK_WRAPPER_ENABLE | Render legacy texblock component wrapper | false |
367
375
  | BLAZE_SCROLL_OFFSET | Offest to use when scrolling after an event. Can be set if there are sticky elements on the page to take them into account | false |
368
376
  | BLAZE_PB_SEARCH_FILETER_AGG_SIZE | Override default size property for search filter aggregations | 500 |
377
+ | BLAZE_PB_ADD_CLICK_TO_CARDS | Add click handler to card parent | false |
378
+
package/example.env CHANGED
@@ -2,3 +2,4 @@ JW_PLAYER_KEY'=UVQWMA4o-kGWxh33Q'
2
2
  BLAZE_SCROLL_OFFSET=0
3
3
  BLAZE_PB_TEXTBLOCK_WRAPPER_ENABLE=false
4
4
  BLAZE_PB_SEARCH_FILETER_AGG_SIZE=500
5
+ BLAZE_PB_ADD_CLICK_TO_CARDS=true
@@ -33,13 +33,14 @@ var _button = _interopRequireDefault(require("@blaze-react/button"));
33
33
  var _coreAuthUi = require("@blaze-cms/core-auth-ui");
34
34
  var _client = require("@apollo/client");
35
35
  var _propTypes = _interopRequireWildcard(require("prop-types"));
36
+ var _utilsHandlebars = require("@blaze-cms/utils-handlebars");
36
37
  var _ClickWrapper = _interopRequireDefault(require("./ClickWrapper"));
37
38
  var _BlazeLink = _interopRequireDefault(require("./BlazeLink"));
38
39
  var _HOC = require("../HOC");
39
40
  var _utils = require("../utils");
40
41
  var _constants = require("../constants");
41
42
  var _helpers = require("../helpers");
42
- var _excluded = ["type", "text", "url", "icon", "name", "style", "children", "clickAction", "childSeoVisibility", "afterClickText"];
43
+ var _excluded = ["type", "text", "url", "icon", "name", "style", "children", "clickAction", "childSeoVisibility", "afterClickText", "parent"];
43
44
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
44
45
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
45
46
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
@@ -55,6 +56,7 @@ var Button = function Button(props) {
55
56
  clickAction = props.clickAction,
56
57
  childSeoVisibility = props.childSeoVisibility,
57
58
  afterClickText = props.afterClickText,
59
+ parent = props.parent,
58
60
  otherProps = (0, _objectWithoutProperties2["default"])(props, _excluded);
59
61
  var client = (0, _client.useApolloClient)();
60
62
  var router = (0, _router.useRouter)();
@@ -67,6 +69,11 @@ var Button = function Button(props) {
67
69
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
68
70
  showChildren = _useState2[0],
69
71
  setShowChildren = _useState2[1];
72
+ var _useStringTemplate = (0, _utilsHandlebars.useStringTemplate)(parent, [text, afterClickText, url]),
73
+ _useStringTemplate$da = (0, _slicedToArray2["default"])(_useStringTemplate.data, 3),
74
+ textToUse = _useStringTemplate$da[0],
75
+ afterClickTextToUse = _useStringTemplate$da[1],
76
+ urlToUse = _useStringTemplate$da[2];
70
77
  (0, _react.useEffect)(function () {
71
78
  setShowChildren(false);
72
79
  }, [router.asPath]);
@@ -77,7 +84,7 @@ var Button = function Button(props) {
77
84
  };
78
85
  var logout = function logout() {
79
86
  (0, _coreAuthUi.handleLogout)(client);
80
- url ? router.reload(url) : router.reload();
87
+ url ? router.reload(urlToUse) : router.reload();
81
88
  };
82
89
  var handleClick = function handleClick() {
83
90
  if (isLogoutButton) logout();
@@ -90,13 +97,13 @@ var Button = function Button(props) {
90
97
  style: style
91
98
  }, otherProps));
92
99
  var currentProps = url ? {
93
- href: url,
100
+ href: urlToUse,
94
101
  title: name
95
102
  } : {
96
103
  name: name
97
104
  };
98
105
  var DynamicButton = url && !isLogoutButton ? _BlazeLink["default"] : _button["default"];
99
- (0, _helpers.updateChildrensParent)(children, otherProps.parent.itemId, otherProps.parent.itemEntity);
106
+ (0, _helpers.updateChildrensParent)(children, parent.itemId, parent.itemEntity);
100
107
  var renderedChildren = (0, _helpers.renderChildren)(children, {
101
108
  onClose: handleClick
102
109
  });
@@ -114,9 +121,10 @@ var Button = function Button(props) {
114
121
  onClick: handleClick
115
122
  }, currentProps), icon && /*#__PURE__*/_react["default"].createElement("i", {
116
123
  className: icon
117
- }), showChildren ? afterClickText : text));
124
+ }), showChildren ? afterClickTextToUse : textToUse));
118
125
  };
119
126
  Button.propTypes = {
127
+ parent: _propTypes["default"].object,
120
128
  clickAction: _propTypes["default"].string,
121
129
  text: _propTypes["default"].string,
122
130
  afterClickText: _propTypes.string,
@@ -130,6 +138,7 @@ Button.propTypes = {
130
138
  children: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].node), _propTypes["default"].node])
131
139
  };
132
140
  Button.defaultProps = {
141
+ parent: {},
133
142
  clickAction: '',
134
143
  text: '',
135
144
  afterClickText: '',
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","names":["Button","props","type","text","url","icon","name","style","children","clickAction","childSeoVisibility","afterClickText","otherProps","client","useApolloClient","router","useRouter","isLogoutButton","LOGOUT","useCookies","cookies","blazeCookie","blaze_auth","useState","showChildren","setShowChildren","useEffect","asPath","checkIfButtonShouldRender","hasChildren","logout","handleLogout","reload","handleClick","buttonType","modifiers","getClassModifiers","currentProps","href","title","DynamicButton","BlazeLink","BlazeButton","updateChildrensParent","parent","itemId","itemEntity","renderedChildren","renderChildren","onClose","getClickWrapperOptions","shouldUseClickWrapper","wrapperProps","Wrapper","ClickWrapper","Fragment","contentClassName","classnames","propTypes","PropTypes","string","size","bool","oneOfType","arrayOf","node","defaultProps","withTitle"],"sources":["../../src/components/Button.js"],"sourcesContent":["import React, { useState, Fragment, useEffect } from 'react';\nimport { useCookies } from 'react-cookie';\nimport { useRouter } from 'next/router';\nimport classnames from 'classnames';\nimport BlazeButton from '@blaze-react/button';\nimport { handleLogout } from '@blaze-cms/core-auth-ui';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes, { bool, string } from 'prop-types';\nimport ClickWrapper from './ClickWrapper';\nimport BlazeLink from './BlazeLink';\nimport { withTitle } from '../HOC';\nimport { getClassModifiers } from '../utils';\nimport { LOGOUT } from '../constants';\nimport {\n renderChildren,\n updateChildrensParent,\n hasChildren,\n getClickWrapperOptions\n} from '../helpers';\n\nconst Button = props => {\n const {\n type,\n text,\n url,\n icon,\n name,\n style,\n children,\n clickAction,\n childSeoVisibility,\n afterClickText,\n ...otherProps\n } = props;\n const client = useApolloClient();\n const router = useRouter();\n const isLogoutButton = clickAction === LOGOUT;\n const [cookies] = useCookies();\n const { blaze_auth: blazeCookie } = cookies;\n const [showChildren, setShowChildren] = useState(false);\n\n useEffect(\n () => {\n setShowChildren(false);\n },\n [router.asPath]\n );\n\n const checkIfButtonShouldRender = () => {\n if (isLogoutButton) return !!blazeCookie;\n if (!text && !icon) return false;\n return !!(url || hasChildren(children));\n };\n\n const logout = () => {\n handleLogout(client);\n url ? router.reload(url) : router.reload();\n };\n\n const handleClick = () => {\n if (isLogoutButton) logout();\n if (!url && !isLogoutButton) setShowChildren(!showChildren);\n };\n\n if (!checkIfButtonShouldRender()) return null;\n\n const buttonType = !text && icon ? 'icon' : type;\n const modifiers = getClassModifiers(buttonType, { icon, style, ...otherProps });\n const currentProps = url ? { href: url, title: name } : { name };\n const DynamicButton = url && !isLogoutButton ? BlazeLink : BlazeButton;\n updateChildrensParent(children, otherProps.parent.itemId, otherProps.parent.itemEntity);\n\n const renderedChildren = renderChildren(children, { onClose: handleClick });\n const { shouldUseClickWrapper, wrapperProps } = getClickWrapperOptions(children, props);\n const Wrapper = shouldUseClickWrapper ? ClickWrapper : Fragment;\n\n const contentClassName = classnames('button__content', {\n 'button__content--show': showChildren\n });\n\n return (\n <Wrapper {...wrapperProps}>\n {childSeoVisibility && <div className={contentClassName}>{renderedChildren}</div>}\n {!childSeoVisibility && showChildren && renderedChildren}\n <DynamicButton className={modifiers} onClick={handleClick} {...currentProps}>\n {icon && <i className={icon} />}\n {showChildren ? afterClickText : text}\n </DynamicButton>\n </Wrapper>\n );\n};\n\nButton.propTypes = {\n clickAction: PropTypes.string,\n text: PropTypes.string,\n afterClickText: string,\n name: PropTypes.string,\n type: PropTypes.string,\n url: PropTypes.string,\n size: PropTypes.string,\n icon: PropTypes.string,\n style: PropTypes.string,\n childSeoVisibility: bool,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nButton.defaultProps = {\n clickAction: '',\n text: '',\n afterClickText: '',\n name: '',\n type: '',\n url: null,\n size: '',\n icon: '',\n style: '',\n children: [],\n childSeoVisibility: false\n};\n\nexport default withTitle(Button);\n"],"mappings":"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"}
1
+ {"version":3,"file":"Button.js","names":["Button","props","type","text","url","icon","name","style","children","clickAction","childSeoVisibility","afterClickText","parent","otherProps","client","useApolloClient","router","useRouter","isLogoutButton","LOGOUT","useCookies","cookies","blazeCookie","blaze_auth","useState","showChildren","setShowChildren","useStringTemplate","data","textToUse","afterClickTextToUse","urlToUse","useEffect","asPath","checkIfButtonShouldRender","hasChildren","logout","handleLogout","reload","handleClick","buttonType","modifiers","getClassModifiers","currentProps","href","title","DynamicButton","BlazeLink","BlazeButton","updateChildrensParent","itemId","itemEntity","renderedChildren","renderChildren","onClose","getClickWrapperOptions","shouldUseClickWrapper","wrapperProps","Wrapper","ClickWrapper","Fragment","contentClassName","classnames","propTypes","PropTypes","object","string","size","bool","oneOfType","arrayOf","node","defaultProps","withTitle"],"sources":["../../src/components/Button.js"],"sourcesContent":["import React, { useState, Fragment, useEffect } from 'react';\nimport { useCookies } from 'react-cookie';\nimport { useRouter } from 'next/router';\nimport classnames from 'classnames';\nimport BlazeButton from '@blaze-react/button';\nimport { handleLogout } from '@blaze-cms/core-auth-ui';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes, { bool, string } from 'prop-types';\nimport { useStringTemplate } from '@blaze-cms/utils-handlebars';\nimport ClickWrapper from './ClickWrapper';\nimport BlazeLink from './BlazeLink';\nimport { withTitle } from '../HOC';\nimport { getClassModifiers } from '../utils';\nimport { LOGOUT } from '../constants';\nimport {\n renderChildren,\n updateChildrensParent,\n hasChildren,\n getClickWrapperOptions\n} from '../helpers';\n\nconst Button = props => {\n const {\n type,\n text,\n url,\n icon,\n name,\n style,\n children,\n clickAction,\n childSeoVisibility,\n afterClickText,\n parent,\n ...otherProps\n } = props;\n const client = useApolloClient();\n const router = useRouter();\n const isLogoutButton = clickAction === LOGOUT;\n const [cookies] = useCookies();\n const { blaze_auth: blazeCookie } = cookies;\n const [showChildren, setShowChildren] = useState(false);\n const {\n data: [textToUse, afterClickTextToUse, urlToUse]\n } = useStringTemplate(parent, [text, afterClickText, url]);\n\n useEffect(\n () => {\n setShowChildren(false);\n },\n [router.asPath]\n );\n\n const checkIfButtonShouldRender = () => {\n if (isLogoutButton) return !!blazeCookie;\n if (!text && !icon) return false;\n return !!(url || hasChildren(children));\n };\n\n const logout = () => {\n handleLogout(client);\n url ? router.reload(urlToUse) : router.reload();\n };\n\n const handleClick = () => {\n if (isLogoutButton) logout();\n if (!url && !isLogoutButton) setShowChildren(!showChildren);\n };\n\n if (!checkIfButtonShouldRender()) return null;\n\n const buttonType = !text && icon ? 'icon' : type;\n const modifiers = getClassModifiers(buttonType, { icon, style, ...otherProps });\n const currentProps = url ? { href: urlToUse, title: name } : { name };\n const DynamicButton = url && !isLogoutButton ? BlazeLink : BlazeButton;\n updateChildrensParent(children, parent.itemId, parent.itemEntity);\n\n const renderedChildren = renderChildren(children, { onClose: handleClick });\n const { shouldUseClickWrapper, wrapperProps } = getClickWrapperOptions(children, props);\n const Wrapper = shouldUseClickWrapper ? ClickWrapper : Fragment;\n\n const contentClassName = classnames('button__content', {\n 'button__content--show': showChildren\n });\n\n return (\n <Wrapper {...wrapperProps}>\n {childSeoVisibility && <div className={contentClassName}>{renderedChildren}</div>}\n {!childSeoVisibility && showChildren && renderedChildren}\n <DynamicButton className={modifiers} onClick={handleClick} {...currentProps}>\n {icon && <i className={icon} />}\n {showChildren ? afterClickTextToUse : textToUse}\n </DynamicButton>\n </Wrapper>\n );\n};\n\nButton.propTypes = {\n parent: PropTypes.object,\n clickAction: PropTypes.string,\n text: PropTypes.string,\n afterClickText: string,\n name: PropTypes.string,\n type: PropTypes.string,\n url: PropTypes.string,\n size: PropTypes.string,\n icon: PropTypes.string,\n style: PropTypes.string,\n childSeoVisibility: bool,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nButton.defaultProps = {\n parent: {},\n clickAction: '',\n text: '',\n afterClickText: '',\n name: '',\n type: '',\n url: null,\n size: '',\n icon: '',\n style: '',\n children: [],\n childSeoVisibility: false\n};\n\nexport default withTitle(Button);\n"],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  require("core-js/modules/es.array.iterator.js");
4
- require("core-js/modules/es.object.to-string.js");
5
4
  require("core-js/modules/es.string.iterator.js");
6
5
  require("core-js/modules/es.weak-map.js");
7
6
  require("core-js/modules/web.dom-collections.iterator.js");
@@ -15,9 +14,13 @@ Object.defineProperty(exports, "__esModule", {
15
14
  exports["default"] = void 0;
16
15
  require("core-js/modules/es.function.name.js");
17
16
  require("core-js/modules/es.array.concat.js");
17
+ require("core-js/modules/es.array.find.js");
18
+ require("core-js/modules/es.object.to-string.js");
18
19
  require("core-js/modules/es.array.map.js");
20
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
19
21
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
20
22
  var _react = _interopRequireWildcard(require("react"));
23
+ var _router = require("next/router");
21
24
  var _propTypes = _interopRequireDefault(require("prop-types"));
22
25
  var _BlazeLink = _interopRequireDefault(require("../BlazeLink"));
23
26
  var _ClickWrapper = _interopRequireDefault(require("../ClickWrapper"));
@@ -25,7 +28,7 @@ var _helpers = require("../../helpers");
25
28
  var _LazyImage = _interopRequireDefault(require("../LazyImage"));
26
29
  var _helpers2 = require("./helpers");
27
30
  var _constants = require("./constants");
28
- var _excluded = ["id", "image", "name", "url", "entity", "entityProps", "alternativePreHeader", "alternativeHeadline", "category", "modifier", "propsToDisplay", "propsToDisplayModifiers", "gtmId", "style", "priority", "cardChildren", "gtmChildren", "displayCategory", "displayThumbnail", "displayTitle", "enableOverlay", "enableCarousel", "titleOverlayModifier", "overlayModifier", "gridModifier"];
31
+ var _excluded = ["id", "image", "name", "url", "entity", "entityProps", "alternativePreHeader", "alternativeHeadline", "category", "modifier", "parsedPropsToDisplay", "propsToDisplay", "propsToDisplayModifiers", "gtmId", "style", "priority", "cardChildren", "gtmChildren", "displayCategory", "displayThumbnail", "displayTitle", "enableOverlay", "enableCarousel", "titleOverlayModifier", "overlayModifier", "gridModifier"];
29
32
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
30
33
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
34
  var Card = function Card(_ref) {
@@ -39,6 +42,7 @@ var Card = function Card(_ref) {
39
42
  alternativeHeadline = _ref.alternativeHeadline,
40
43
  category = _ref.category,
41
44
  modifier = _ref.modifier,
45
+ parsedPropsToDisplay = _ref.parsedPropsToDisplay,
42
46
  propsToDisplay = _ref.propsToDisplay,
43
47
  propsToDisplayModifiers = _ref.propsToDisplayModifiers,
44
48
  gtmId = _ref.gtmId,
@@ -56,6 +60,7 @@ var Card = function Card(_ref) {
56
60
  gridModifier = _ref.gridModifier,
57
61
  otherProps = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
58
62
  (0, _helpers.updateChildrensParent)(cardChildren, id, entity);
63
+ var router = (0, _router.useRouter)();
59
64
  var _getImageDefinedProps = getImageDefinedProps({
60
65
  image: image,
61
66
  displayThumbnail: displayThumbnail
@@ -93,9 +98,24 @@ var Card = function Card(_ref) {
93
98
  var classNameWithModifiers = (0, _helpers.getModifiers)(_constants.CARD_STRING, modifiers);
94
99
  var contentWrapperModifier = "".concat((0, _helpers.getModifiers)('card__content-wrapper', modifiers), " ").concat(enableOverlay && enableCarousel ? overlayModifier : '');
95
100
  var titleWrapperModifier = "".concat((0, _helpers.getModifiers)('card__title', modifiers), " ").concat(enableOverlay && enableCarousel ? titleOverlayModifier : '');
96
- return /*#__PURE__*/_react["default"].createElement(Wrapper, wrapperProps, /*#__PURE__*/_react["default"].createElement("div", {
101
+ var handleCardClick = function handleCardClick(e) {
102
+ if (!url) return;
103
+ var clickEventTag = e.target.tagName.toLowerCase();
104
+ var clickEventRole = e.target.role;
105
+ var shouldTriggerRouteChange = clickEventRole !== 'button' && !_constants.CARD_CHILDREN_WITH_LINKS.find(function (childTag) {
106
+ return childTag === clickEventTag;
107
+ });
108
+ if (shouldTriggerRouteChange) router.push("/Resolver", url);
109
+ };
110
+
111
+ // todo: remove temp env var flag once widely tested BLAZE_PB_ADD_CLICK_TO_CARDS
112
+ var clickProps = url && process.env.BLAZE_PB_ADD_CLICK_TO_CARDS ? {
113
+ onClick: handleCardClick,
114
+ role: 'button'
115
+ } : {};
116
+ return /*#__PURE__*/_react["default"].createElement(Wrapper, wrapperProps, /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({
97
117
  className: classNameWithModifiers
98
- }, shouldDisplayThumbnail && /*#__PURE__*/_react["default"].createElement("div", {
118
+ }, clickProps), shouldDisplayThumbnail && /*#__PURE__*/_react["default"].createElement("div", {
99
119
  className: (0, _helpers.getModifiers)('card__image', modifiers)
100
120
  }, /*#__PURE__*/_react["default"].createElement(_BlazeLink["default"], {
101
121
  gtmId: gtmId,
@@ -125,16 +145,22 @@ var Card = function Card(_ref) {
125
145
  gtmId: gtmId,
126
146
  href: url,
127
147
  scroll: true
128
- }, headline)), !!propsToDisplay.length && /*#__PURE__*/_react["default"].createElement("div", {
148
+ }, headline)), !!parsedPropsToDisplay.length && /*#__PURE__*/_react["default"].createElement("div", {
129
149
  className: (0, _helpers.getModifiers)('card__details', modifiers)
130
- }, propsToDisplay.map(function (prop, i) {
150
+ }, parsedPropsToDisplay.map(function (prop, i) {
131
151
  if (!prop) return null;
132
152
  var dynamicKey = "".concat(id).concat(i);
133
153
  var propModifier = propsToDisplayModifiers[i] || '';
134
- return /*#__PURE__*/_react["default"].createElement("span", {
154
+ var _ref2 = propsToDisplay[i] || {},
155
+ htmlAttribute = _ref2.htmlAttribute;
156
+ var extraProps = {};
157
+ if (htmlAttribute && prop.props.children) {
158
+ extraProps[htmlAttribute] = encodeURIComponent(prop.props.children[2]);
159
+ }
160
+ return /*#__PURE__*/_react["default"].createElement("span", (0, _extends2["default"])({
135
161
  key: dynamicKey,
136
162
  className: propModifier
137
- }, prop);
163
+ }, extraProps), prop);
138
164
  }))), !!cardChildren && /*#__PURE__*/_react["default"].createElement("div", {
139
165
  className: "card__child-content"
140
166
  }, (0, _helpers.renderChildren)(cardChildren)))));
@@ -146,6 +172,7 @@ Card.propTypes = {
146
172
  data: _propTypes["default"].object
147
173
  }),
148
174
  style: _propTypes["default"].string,
175
+ parsedPropsToDisplay: _propTypes["default"].array,
149
176
  propsToDisplay: _propTypes["default"].array,
150
177
  propsToDisplayModifiers: _propTypes["default"].array,
151
178
  url: _propTypes["default"].string,
@@ -184,6 +211,7 @@ Card.defaultProps = {
184
211
  },
185
212
  gtmId: '',
186
213
  style: 'portrait',
214
+ parsedPropsToDisplay: [],
187
215
  propsToDisplay: [],
188
216
  propsToDisplayModifiers: [],
189
217
  url: '',
@@ -200,13 +228,13 @@ Card.defaultProps = {
200
228
  enableOverlay: false,
201
229
  enableCarousel: false
202
230
  };
203
- var getCategoryDefinedProps = function getCategoryDefinedProps(_ref2) {
204
- var alternativePreHeader = _ref2.alternativePreHeader,
205
- category = _ref2.category,
206
- entity = _ref2.entity,
207
- alternativeHeadline = _ref2.alternativeHeadline,
208
- displayCategory = _ref2.displayCategory,
209
- name = _ref2.name;
231
+ var getCategoryDefinedProps = function getCategoryDefinedProps(_ref3) {
232
+ var alternativePreHeader = _ref3.alternativePreHeader,
233
+ category = _ref3.category,
234
+ entity = _ref3.entity,
235
+ alternativeHeadline = _ref3.alternativeHeadline,
236
+ displayCategory = _ref3.displayCategory,
237
+ name = _ref3.name;
210
238
  var hasAlternativePreHeader = alternativePreHeader && alternativePreHeader.name;
211
239
  var preHeader = alternativeHeadline && hasAlternativePreHeader ? alternativePreHeader : category;
212
240
  var publishedListingPage = (0, _helpers2.getPublishedListingUrl)(preHeader);
@@ -219,12 +247,12 @@ var getCategoryDefinedProps = function getCategoryDefinedProps(_ref2) {
219
247
  headline: headline
220
248
  };
221
249
  };
222
- var getImageDefinedProps = function getImageDefinedProps(_ref3) {
223
- var image = _ref3.image,
224
- displayThumbnail = _ref3.displayThumbnail;
225
- var _ref4 = image || {},
226
- imageSrc = _ref4.url,
227
- data = _ref4.data;
250
+ var getImageDefinedProps = function getImageDefinedProps(_ref4) {
251
+ var image = _ref4.image,
252
+ displayThumbnail = _ref4.displayThumbnail;
253
+ var _ref5 = image || {},
254
+ imageSrc = _ref5.url,
255
+ data = _ref5.data;
228
256
  var shouldDisplayThumbnail = displayThumbnail && imageSrc;
229
257
  var altText = data && data.altText || '';
230
258
  return {
@@ -233,10 +261,10 @@ var getImageDefinedProps = function getImageDefinedProps(_ref3) {
233
261
  altText: altText
234
262
  };
235
263
  };
236
- var getInitialModifiers = function getInitialModifiers(_ref5) {
237
- var modifier = _ref5.modifier,
238
- style = _ref5.style,
239
- otherProps = _ref5.otherProps;
264
+ var getInitialModifiers = function getInitialModifiers(_ref6) {
265
+ var modifier = _ref6.modifier,
266
+ style = _ref6.style,
267
+ otherProps = _ref6.otherProps;
240
268
  var modifiers = [modifier, style];
241
269
  var sponsored = otherProps.sponsored,
242
270
  featured = otherProps.featured;
@@ -1 +1 @@
1
- {"version":3,"file":"Card.js","names":["Card","id","image","name","url","entity","entityProps","alternativePreHeader","alternativeHeadline","category","modifier","propsToDisplay","propsToDisplayModifiers","gtmId","style","priority","cardChildren","gtmChildren","displayCategory","displayThumbnail","displayTitle","enableOverlay","enableCarousel","titleOverlayModifier","overlayModifier","gridModifier","otherProps","updateChildrensParent","getImageDefinedProps","imageSrc","shouldDisplayThumbnail","altText","modifiers","getInitialModifiers","getCategoryDefinedProps","publishedListingPage","preHeader","label","headline","linkTitle","dynamicSizeKey","useDynamicSizeKey","CARD_STRING","getClickWrapperOptions","shouldUseClickWrapper","wrapperProps","Wrapper","ClickWrapper","Fragment","classNameWithModifiers","getModifiers","contentWrapperModifier","titleWrapperModifier","length","map","prop","i","dynamicKey","propModifier","renderChildren","propTypes","PropTypes","string","isRequired","shape","data","object","array","bool","oneOfType","arrayOf","node","defaultProps","hasAlternativePreHeader","getPublishedListingUrl","sponsored","featured","push"],"sources":["../../../src/components/Card/Card.js"],"sourcesContent":["import React, { Fragment } from 'react';\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 } from './constants';\n\nconst Card = ({\n id,\n image,\n name,\n url,\n entity,\n entityProps,\n alternativePreHeader,\n alternativeHeadline,\n category,\n modifier,\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 ...otherProps\n}) => {\n updateChildrensParent(cardChildren, id, entity);\n const { imageSrc, shouldDisplayThumbnail, altText } = getImageDefinedProps({\n image,\n displayThumbnail\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 return (\n <Wrapper {...wrapperProps}>\n <div className={classNameWithModifiers}>\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 <h2 className={titleWrapperModifier}>\n <BlazeLink title={linkTitle} gtmId={gtmId} href={url} scroll>\n {headline}\n </BlazeLink>\n </h2>\n )}\n {!!propsToDisplay.length && (\n <div className={getModifiers('card__details', modifiers)}>\n {propsToDisplay.map((prop, i) => {\n if (!prop) return null;\n const dynamicKey = `${id}${i}`;\n const propModifier = propsToDisplayModifiers[i] || '';\n\n return (\n <span key={dynamicKey} className={propModifier}>\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 style: PropTypes.string,\n propsToDisplay: PropTypes.array,\n propsToDisplayModifiers: PropTypes.array,\n url: PropTypes.string,\n name: PropTypes.string.isRequired,\n entity: 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};\n\nCard.defaultProps = {\n entityProps: {},\n image: {\n url: null,\n data: {}\n },\n gtmId: '',\n style: 'portrait',\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 }) => {\n const { url: imageSrc, data } = image || {};\n const shouldDisplayThumbnail = displayThumbnail && imageSrc;\n const altText = (data && data.altText) || '';\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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"}
1
+ {"version":3,"file":"Card.js","names":["Card","id","image","name","url","entity","entityProps","alternativePreHeader","alternativeHeadline","category","modifier","parsedPropsToDisplay","propsToDisplay","propsToDisplayModifiers","gtmId","style","priority","cardChildren","gtmChildren","displayCategory","displayThumbnail","displayTitle","enableOverlay","enableCarousel","titleOverlayModifier","overlayModifier","gridModifier","otherProps","updateChildrensParent","router","useRouter","getImageDefinedProps","imageSrc","shouldDisplayThumbnail","altText","modifiers","getInitialModifiers","getCategoryDefinedProps","publishedListingPage","preHeader","label","headline","linkTitle","dynamicSizeKey","useDynamicSizeKey","CARD_STRING","getClickWrapperOptions","shouldUseClickWrapper","wrapperProps","Wrapper","ClickWrapper","Fragment","classNameWithModifiers","getModifiers","contentWrapperModifier","titleWrapperModifier","handleCardClick","e","clickEventTag","target","tagName","toLowerCase","clickEventRole","role","shouldTriggerRouteChange","CARD_CHILDREN_WITH_LINKS","find","childTag","push","clickProps","process","env","BLAZE_PB_ADD_CLICK_TO_CARDS","onClick","length","map","prop","i","dynamicKey","propModifier","htmlAttribute","extraProps","props","children","encodeURIComponent","renderChildren","propTypes","PropTypes","string","isRequired","shape","data","object","array","bool","oneOfType","arrayOf","node","defaultProps","hasAlternativePreHeader","getPublishedListingUrl","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';\n\nconst Card = ({\n id,\n image,\n name,\n url,\n entity,\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 ...otherProps\n}) => {\n updateChildrensParent(cardChildren, id, entity);\n const router = useRouter();\n const { imageSrc, shouldDisplayThumbnail, altText } = getImageDefinedProps({\n image,\n displayThumbnail\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\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 <h2 className={titleWrapperModifier}>\n <BlazeLink title={linkTitle} gtmId={gtmId} href={url} scroll>\n {headline}\n </BlazeLink>\n </h2>\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 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 entity: 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};\n\nCard.defaultProps = {\n entityProps: {},\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 }) => {\n const { url: imageSrc, data } = image || {};\n const shouldDisplayThumbnail = displayThumbnail && imageSrc;\n const altText = (data && data.altText) || '';\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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"}
@@ -91,7 +91,8 @@ var CardContainer = function CardContainer(_ref) {
91
91
  id: id,
92
92
  enableCarousel: enableCarousel,
93
93
  entity: entity,
94
- propsToDisplay: extraProps,
94
+ propsToDisplay: propsToDisplay,
95
+ parsedPropsToDisplay: extraProps,
95
96
  propsToDisplayModifiers: propsToDisplayModifiers,
96
97
  modifier: modifier,
97
98
  style: style,
@@ -1 +1 @@
1
- {"version":3,"file":"CardContainer.js","names":["CardContainer","cardData","gridModifier","style","displayCategory","displayThumbnail","displayTitle","modifier","entity","propsToDisplay","gtmChildren","cardChildren","name","designConfig","itemsPerRow","enableCarousel","bannerModifier","priorityLimit","enableAutoScroll","enableOverlay","autoScrollTimer","overlayModifier","titleOverlayModifier","cardProps","entities","getEntitiesWithBanner","useContext","MainContext","itemId","propsToDisplayModifiers","getPropsToDisplayModifiers","dynamicWrapperSizes","getDynamicGridClasses","cardBannerIndex","CardWrapper","CarouselWrapper","Wrapper","map","index","baseAdunit","id","entityProps","extraProps","parsePropsToDisplay","dynamicKey","join","priority","propTypes","PropTypes","array","isRequired","string","oneOfType","arrayOf","node","bool","object","number","defaultProps","withTitle"],"sources":["../../../src/components/Card/CardContainer.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';\n\nconst CardContainer = ({\n cardData,\n gridModifier,\n style,\n displayCategory,\n displayThumbnail,\n displayTitle,\n modifier,\n entity,\n propsToDisplay,\n gtmChildren,\n cardChildren,\n name,\n designConfig,\n itemsPerRow,\n enableCarousel,\n bannerModifier,\n priorityLimit,\n enableAutoScroll,\n enableOverlay,\n autoScrollTimer,\n overlayModifier,\n titleOverlayModifier,\n ...cardProps\n}) => {\n const entities = getEntitiesWithBanner(cardData, cardProps);\n const { itemId } = useContext(MainContext);\n const propsToDisplayModifiers = getPropsToDisplayModifiers(propsToDisplay);\n const dynamicWrapperSizes = enableCarousel\n ? ''\n : getDynamicGridClasses('grid', itemsPerRow, designConfig);\n let cardBannerIndex = 0;\n const CardWrapper = enableCarousel ? CarouselWrapper : Wrapper;\n\n return (\n <CardWrapper\n className={dynamicWrapperSizes}\n modifiers={gridModifier}\n itemsPerRow={itemsPerRow}\n bannerModifier={bannerModifier}\n enableAutoScroll={enableAutoScroll}\n autoScrollTimer={autoScrollTimer}>\n {entities.map(({ baseAdunit, id, ...entityProps }, index) => {\n const extraProps = parsePropsToDisplay(entityProps, propsToDisplay);\n const dynamicKey = [itemId, index].join('-');\n if (baseAdunit) cardBannerIndex += 1;\n\n const priority = priorityLimit > 0 && index + 1 <= priorityLimit;\n\n return baseAdunit ? (\n <Banner\n key={dynamicKey}\n entity={entity}\n baseAdunit={baseAdunit}\n {...entityProps}\n modifier={modifier}\n cardBannerIndex={cardBannerIndex}\n />\n ) : (\n <Card\n key={id}\n id={id}\n enableCarousel={enableCarousel}\n entity={entity}\n propsToDisplay={extraProps}\n propsToDisplayModifiers={propsToDisplayModifiers}\n modifier={modifier}\n style={style}\n cardChildren={cardChildren}\n gtmChildren={gtmChildren}\n gtmId={name}\n gridModifier={gridModifier}\n entityProps={entityProps}\n displayCategory={displayCategory}\n displayThumbnail={displayThumbnail}\n displayTitle={displayTitle}\n priority={priority}\n enableOverlay={enableOverlay}\n overlayModifier={overlayModifier}\n titleOverlayModifier={titleOverlayModifier}\n {...entityProps}\n />\n );\n })}\n </CardWrapper>\n );\n};\n\nCardContainer.propTypes = {\n cardData: PropTypes.array.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 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 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 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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"}
1
+ {"version":3,"file":"CardContainer.js","names":["CardContainer","cardData","gridModifier","style","displayCategory","displayThumbnail","displayTitle","modifier","entity","propsToDisplay","gtmChildren","cardChildren","name","designConfig","itemsPerRow","enableCarousel","bannerModifier","priorityLimit","enableAutoScroll","enableOverlay","autoScrollTimer","overlayModifier","titleOverlayModifier","cardProps","entities","getEntitiesWithBanner","useContext","MainContext","itemId","propsToDisplayModifiers","getPropsToDisplayModifiers","dynamicWrapperSizes","getDynamicGridClasses","cardBannerIndex","CardWrapper","CarouselWrapper","Wrapper","map","index","baseAdunit","id","entityProps","extraProps","parsePropsToDisplay","dynamicKey","join","priority","propTypes","PropTypes","array","isRequired","string","oneOfType","arrayOf","node","bool","object","number","defaultProps","withTitle"],"sources":["../../../src/components/Card/CardContainer.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';\n\nconst CardContainer = ({\n cardData,\n gridModifier,\n style,\n displayCategory,\n displayThumbnail,\n displayTitle,\n modifier,\n entity,\n propsToDisplay,\n gtmChildren,\n cardChildren,\n name,\n designConfig,\n itemsPerRow,\n enableCarousel,\n bannerModifier,\n priorityLimit,\n enableAutoScroll,\n enableOverlay,\n autoScrollTimer,\n overlayModifier,\n titleOverlayModifier,\n ...cardProps\n}) => {\n const entities = getEntitiesWithBanner(cardData, cardProps);\n const { itemId } = useContext(MainContext);\n const propsToDisplayModifiers = getPropsToDisplayModifiers(propsToDisplay);\n const dynamicWrapperSizes = enableCarousel\n ? ''\n : getDynamicGridClasses('grid', itemsPerRow, designConfig);\n let cardBannerIndex = 0;\n const CardWrapper = enableCarousel ? CarouselWrapper : Wrapper;\n\n return (\n <CardWrapper\n className={dynamicWrapperSizes}\n modifiers={gridModifier}\n itemsPerRow={itemsPerRow}\n bannerModifier={bannerModifier}\n enableAutoScroll={enableAutoScroll}\n autoScrollTimer={autoScrollTimer}>\n {entities.map(({ baseAdunit, id, ...entityProps }, index) => {\n const extraProps = parsePropsToDisplay(entityProps, propsToDisplay);\n const dynamicKey = [itemId, index].join('-');\n if (baseAdunit) cardBannerIndex += 1;\n\n const priority = priorityLimit > 0 && index + 1 <= priorityLimit;\n\n return baseAdunit ? (\n <Banner\n key={dynamicKey}\n entity={entity}\n baseAdunit={baseAdunit}\n {...entityProps}\n modifier={modifier}\n cardBannerIndex={cardBannerIndex}\n />\n ) : (\n <Card\n key={id}\n id={id}\n enableCarousel={enableCarousel}\n entity={entity}\n propsToDisplay={propsToDisplay}\n parsedPropsToDisplay={extraProps}\n propsToDisplayModifiers={propsToDisplayModifiers}\n modifier={modifier}\n style={style}\n cardChildren={cardChildren}\n gtmChildren={gtmChildren}\n gtmId={name}\n gridModifier={gridModifier}\n entityProps={entityProps}\n displayCategory={displayCategory}\n displayThumbnail={displayThumbnail}\n displayTitle={displayTitle}\n priority={priority}\n enableOverlay={enableOverlay}\n overlayModifier={overlayModifier}\n titleOverlayModifier={titleOverlayModifier}\n {...entityProps}\n />\n );\n })}\n </CardWrapper>\n );\n};\n\nCardContainer.propTypes = {\n cardData: PropTypes.array.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 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 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 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":";;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAyD;EAAA;AAAA;AAAA;AAEzD,IAAMA,aAAa,GAAG,SAAhBA,aAAa,OAwBb;EAAA,IAvBJC,QAAQ,QAARA,QAAQ;IACRC,YAAY,QAAZA,YAAY;IACZC,KAAK,QAALA,KAAK;IACLC,eAAe,QAAfA,eAAe;IACfC,gBAAgB,QAAhBA,gBAAgB;IAChBC,YAAY,QAAZA,YAAY;IACZC,QAAQ,QAARA,QAAQ;IACRC,MAAM,QAANA,MAAM;IACNC,cAAc,QAAdA,cAAc;IACdC,WAAW,QAAXA,WAAW;IACXC,YAAY,QAAZA,YAAY;IACZC,IAAI,QAAJA,IAAI;IACJC,YAAY,QAAZA,YAAY;IACZC,WAAW,QAAXA,WAAW;IACXC,cAAc,QAAdA,cAAc;IACdC,cAAc,QAAdA,cAAc;IACdC,aAAa,QAAbA,aAAa;IACbC,gBAAgB,QAAhBA,gBAAgB;IAChBC,aAAa,QAAbA,aAAa;IACbC,eAAe,QAAfA,eAAe;IACfC,eAAe,QAAfA,eAAe;IACfC,oBAAoB,QAApBA,oBAAoB;IACjBC,SAAS;EAEZ,IAAMC,QAAQ,GAAG,IAAAC,+BAAqB,EAACxB,QAAQ,EAAEsB,SAAS,CAAC;EAC3D,kBAAmB,IAAAG,iBAAU,EAACC,6BAAW,CAAC;IAAlCC,MAAM,eAANA,MAAM;EACd,IAAMC,uBAAuB,GAAG,IAAAC,iCAA0B,EAACrB,cAAc,CAAC;EAC1E,IAAMsB,mBAAmB,GAAGhB,cAAc,GACtC,EAAE,GACF,IAAAiB,8BAAqB,EAAC,MAAM,EAAElB,WAAW,EAAED,YAAY,CAAC;EAC5D,IAAIoB,eAAe,GAAG,CAAC;EACvB,IAAMC,WAAW,GAAGnB,cAAc,GAAGoB,2BAAe,GAAGC,mBAAO;EAE9D,oBACE,gCAAC,WAAW;IACV,SAAS,EAAEL,mBAAoB;IAC/B,SAAS,EAAE7B,YAAa;IACxB,WAAW,EAAEY,WAAY;IACzB,cAAc,EAAEE,cAAe;IAC/B,gBAAgB,EAAEE,gBAAiB;IACnC,eAAe,EAAEE;EAAgB,GAChCI,QAAQ,CAACa,GAAG,CAAC,iBAAqCC,KAAK,EAAK;IAAA,IAA5CC,UAAU,SAAVA,UAAU;MAAEC,EAAE,SAAFA,EAAE;MAAKC,WAAW;IAC7C,IAAMC,UAAU,GAAG,IAAAC,6BAAmB,EAACF,WAAW,EAAEhC,cAAc,CAAC;IACnE,IAAMmC,UAAU,GAAG,CAAChB,MAAM,EAAEU,KAAK,CAAC,CAACO,IAAI,CAAC,GAAG,CAAC;IAC5C,IAAIN,UAAU,EAAEN,eAAe,IAAI,CAAC;IAEpC,IAAMa,QAAQ,GAAG7B,aAAa,GAAG,CAAC,IAAIqB,KAAK,GAAG,CAAC,IAAIrB,aAAa;IAEhE,OAAOsB,UAAU,gBACf,gCAAC,kBAAM;MACL,GAAG,EAAEK,UAAW;MAChB,MAAM,EAAEpC,MAAO;MACf,UAAU,EAAE+B;IAAW,GACnBE,WAAW;MACf,QAAQ,EAAElC,QAAS;MACnB,eAAe,EAAE0B;IAAgB,GACjC,gBAEF,gCAAC,gBAAI;MACH,GAAG,EAAEO,EAAG;MACR,EAAE,EAAEA,EAAG;MACP,cAAc,EAAEzB,cAAe;MAC/B,MAAM,EAAEP,MAAO;MACf,cAAc,EAAEC,cAAe;MAC/B,oBAAoB,EAAEiC,UAAW;MACjC,uBAAuB,EAAEb,uBAAwB;MACjD,QAAQ,EAAEtB,QAAS;MACnB,KAAK,EAAEJ,KAAM;MACb,YAAY,EAAEQ,YAAa;MAC3B,WAAW,EAAED,WAAY;MACzB,KAAK,EAAEE,IAAK;MACZ,YAAY,EAAEV,YAAa;MAC3B,WAAW,EAAEuC,WAAY;MACzB,eAAe,EAAErC,eAAgB;MACjC,gBAAgB,EAAEC,gBAAiB;MACnC,YAAY,EAAEC,YAAa;MAC3B,QAAQ,EAAEwC,QAAS;MACnB,aAAa,EAAE3B,aAAc;MAC7B,eAAe,EAAEE,eAAgB;MACjC,oBAAoB,EAAEC;IAAqB,GACvCmB,WAAW,EAElB;EACH,CAAC,CAAC,CACU;AAElB,CAAC;AAEDzC,aAAa,CAAC+C,SAAS,GAAG;EACxB9C,QAAQ,EAAE+C,qBAAS,CAACC,KAAK,CAACC,UAAU;EACpCtC,IAAI,EAAEoC,qBAAS,CAACG,MAAM;EACtB3C,MAAM,EAAEwC,qBAAS,CAACG,MAAM,CAACD,UAAU;EACnChD,YAAY,EAAE8C,qBAAS,CAACG,MAAM;EAC9BzC,WAAW,EAAEsC,qBAAS,CAACI,SAAS,CAAC,CAACJ,qBAAS,CAACK,OAAO,CAACL,qBAAS,CAACM,IAAI,CAAC,EAAEN,qBAAS,CAACM,IAAI,CAAC,CAAC;EACrF3C,YAAY,EAAEqC,qBAAS,CAACI,SAAS,CAAC,CAACJ,qBAAS,CAACK,OAAO,CAACL,qBAAS,CAACM,IAAI,CAAC,EAAEN,qBAAS,CAACM,IAAI,CAAC,CAAC;EACtF7C,cAAc,EAAEuC,qBAAS,CAACC,KAAK;EAC/B7C,eAAe,EAAE4C,qBAAS,CAACO,IAAI;EAC/BlD,gBAAgB,EAAE2C,qBAAS,CAACO,IAAI;EAChCjD,YAAY,EAAE0C,qBAAS,CAACO,IAAI;EAC5BhD,QAAQ,EAAEyC,qBAAS,CAACG,MAAM;EAC1BhD,KAAK,EAAE6C,qBAAS,CAACG,MAAM;EACvBtC,YAAY,EAAEmC,qBAAS,CAACQ,MAAM;EAC9B1C,WAAW,EAAEkC,qBAAS,CAACS,MAAM;EAC7B1C,cAAc,EAAEiC,qBAAS,CAACO,IAAI;EAC9BvC,cAAc,EAAEgC,qBAAS,CAACG,MAAM;EAChClC,aAAa,EAAE+B,qBAAS,CAACS,MAAM;EAC/BvC,gBAAgB,EAAE8B,qBAAS,CAACO,IAAI;EAChCpC,aAAa,EAAE6B,qBAAS,CAACO,IAAI;EAC7BlC,eAAe,EAAE2B,qBAAS,CAACG,MAAM;EACjC7B,oBAAoB,EAAE0B,qBAAS,CAACG,MAAM;EACtC/B,eAAe,EAAE4B,qBAAS,CAACS;AAC7B,CAAC;AAEDzD,aAAa,CAAC0D,YAAY,GAAG;EAC3BhD,WAAW,EAAE,EAAE;EACfC,YAAY,EAAE,EAAE;EAChBC,IAAI,EAAE,EAAE;EACRV,YAAY,EAAE,EAAE;EAChBO,cAAc,EAAE,EAAE;EAClBL,eAAe,EAAE,IAAI;EACrBC,gBAAgB,EAAE,IAAI;EACtBC,YAAY,EAAE,IAAI;EAClBC,QAAQ,EAAE,EAAE;EACZJ,KAAK,EAAE,UAAU;EACjBU,YAAY,EAAE,CAAC,CAAC;EAChBC,WAAW,EAAE,CAAC;EACdC,cAAc,EAAE,KAAK;EACrBC,cAAc,EAAE,EAAE;EAClBC,aAAa,EAAE,CAAC;EAChBC,gBAAgB,EAAE,KAAK;EACvBC,aAAa,EAAE,KAAK;EACpBC,eAAe,EAAE,CAAC;EAClBC,eAAe,EAAE,EAAE;EACnBC,oBAAoB,EAAE;AACxB,CAAC;AAAC,eAEa,IAAAqC,cAAS,EAAC3D,aAAa,CAAC;AAAA"}
@@ -4,7 +4,9 @@ require("core-js/modules/es.object.define-property.js");
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.CARD_STRING = void 0;
7
+ exports.CARD_STRING = exports.CARD_CHILDREN_WITH_LINKS = void 0;
8
8
  var CARD_STRING = 'card';
9
9
  exports.CARD_STRING = CARD_STRING;
10
+ var CARD_CHILDREN_WITH_LINKS = ['a', 'img', 'button', 'svg', 'i', 'path'];
11
+ exports.CARD_CHILDREN_WITH_LINKS = CARD_CHILDREN_WITH_LINKS;
10
12
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","names":["CARD_STRING"],"sources":["../../../src/components/Card/constants.js"],"sourcesContent":["const CARD_STRING = 'card';\n\nexport { CARD_STRING };\n"],"mappings":";;;;;;;AAAA,IAAMA,WAAW,GAAG,MAAM;AAAC"}
1
+ {"version":3,"file":"constants.js","names":["CARD_STRING","CARD_CHILDREN_WITH_LINKS"],"sources":["../../../src/components/Card/constants.js"],"sourcesContent":["const CARD_STRING = 'card';\nconst CARD_CHILDREN_WITH_LINKS = ['a', 'img', 'button', 'svg', 'i', 'path'];\n\nexport { CARD_STRING, CARD_CHILDREN_WITH_LINKS };\n"],"mappings":";;;;;;;AAAA,IAAMA,WAAW,GAAG,MAAM;AAAC;AAC3B,IAAMC,wBAAwB,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC;AAAC"}