@blaze-cms/react-page-builder 0.125.0-alpha.14 → 0.125.0-alpha.18

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 (165) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +7 -4
  3. package/example.env +1 -0
  4. package/lib/components/Banner/index.js +1 -1
  5. package/lib/components/Banner/index.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/DataSummary/DataSummaryTypes/index.js +5 -5
  23. package/lib/components/DataSummary/DataSummaryTypes/index.js.map +1 -1
  24. package/lib/components/Image/GlobalLightbox/index.js +1 -1
  25. package/lib/components/Image/GlobalLightbox/index.js.map +1 -1
  26. package/lib/components/LazyImage/index.js +1 -1
  27. package/lib/components/LazyImage/index.js.map +1 -1
  28. package/lib/components/List/components/Cards/CardsRender.js.map +1 -1
  29. package/lib/components/List/components/Cards/CardsRenderItem.js +2 -1
  30. package/lib/components/List/components/Cards/CardsRenderItem.js.map +1 -1
  31. package/lib/components/Video/providers/JWPlayer/JWPlayerController.js +2 -1
  32. package/lib/components/Video/providers/JWPlayer/JWPlayerController.js.map +1 -1
  33. package/lib/components/Video/providers/get-provider.js +4 -4
  34. package/lib/components/Video/providers/get-provider.js.map +1 -1
  35. package/lib/components/index.js +35 -40
  36. package/lib/components/index.js.map +1 -1
  37. package/lib/constants/index.js +2 -14
  38. package/lib/constants/index.js.map +1 -1
  39. package/lib/hooks/helpers/get-banners-by-type.js +1 -1
  40. package/lib/hooks/helpers/get-banners-by-type.js.map +1 -1
  41. package/lib/index.js +6 -0
  42. package/lib/index.js.map +1 -1
  43. package/lib-es/components/Card/Card.js +34 -8
  44. package/lib-es/components/Card/Card.js.map +1 -1
  45. package/lib-es/components/Card/CardContainer.js +2 -1
  46. package/lib-es/components/Card/CardContainer.js.map +1 -1
  47. package/lib-es/components/Card/constants.js +2 -1
  48. package/lib-es/components/Card/constants.js.map +1 -1
  49. package/lib-es/components/ContentGroup/ContentGroup.js +22 -0
  50. package/lib-es/components/ContentGroup/ContentGroup.js.map +1 -0
  51. package/lib-es/components/ContentGroup/ContentGroupTabs.js +72 -0
  52. package/lib-es/components/ContentGroup/ContentGroupTabs.js.map +1 -0
  53. package/lib-es/components/ContentGroup/index.js +3 -0
  54. package/lib-es/components/ContentGroup/index.js.map +1 -0
  55. package/lib-es/components/ContentGroupSection/ContentGroupSection.js +23 -0
  56. package/lib-es/components/ContentGroupSection/ContentGroupSection.js.map +1 -0
  57. package/lib-es/components/ContentGroupSection/index.js +3 -0
  58. package/lib-es/components/ContentGroupSection/index.js.map +1 -0
  59. package/lib-es/components/List/components/Cards/CardsRender.js.map +1 -1
  60. package/lib-es/components/List/components/Cards/CardsRenderItem.js +2 -1
  61. package/lib-es/components/List/components/Cards/CardsRenderItem.js.map +1 -1
  62. package/lib-es/components/index.js +3 -4
  63. package/lib-es/components/index.js.map +1 -1
  64. package/lib-es/constants/index.js +1 -7
  65. package/lib-es/constants/index.js.map +1 -1
  66. package/lib-es/hooks/helpers/get-banners-by-type.js +1 -1
  67. package/lib-es/hooks/helpers/get-banners-by-type.js.map +1 -1
  68. package/lib-es/index.js +1 -1
  69. package/lib-es/index.js.map +1 -1
  70. package/package.json +7 -7
  71. package/src/components/Card/Card.js +37 -5
  72. package/src/components/Card/CardContainer.js +2 -1
  73. package/src/components/Card/constants.js +2 -1
  74. package/src/components/ContentGroup/ContentGroup.js +17 -0
  75. package/src/components/ContentGroup/ContentGroupTabs.js +74 -0
  76. package/src/components/ContentGroup/index.js +3 -0
  77. package/src/components/ContentGroupSection/ContentGroupSection.js +17 -0
  78. package/src/components/ContentGroupSection/index.js +3 -0
  79. package/src/components/List/components/Cards/CardsRender.js +1 -0
  80. package/src/components/List/components/Cards/CardsRenderItem.js +2 -1
  81. package/src/components/index.js +8 -8
  82. package/src/constants/index.js +0 -13
  83. package/src/hooks/helpers/get-banners-by-type.js +1 -1
  84. package/src/index.js +1 -1
  85. package/tests/unit/src/components/Card/Card.test.js +18 -7
  86. package/tests/unit/src/components/Card/__snapshots__/Card.test.js.snap +5 -0
  87. package/tests/unit/src/components/ContentGroup/ContentGroup.test.js +13 -0
  88. package/tests/unit/src/components/ContentGroup/ContentGroupTabs.test.js +16 -0
  89. package/tests/unit/src/components/ContentGroup/__snapshots__/ContentGroup.test.js.snap +5 -0
  90. package/tests/unit/src/components/ContentGroup/__snapshots__/ContentGroupTabs.test.js.snap +5 -0
  91. package/tests/unit/src/components/ContentGroupSection/ContentGroupSection.test.js +17 -0
  92. package/tests/unit/src/components/ContentGroupSection/__snapshots__/ContentGroupSection.test.js.snap +15 -0
  93. package/tests/unit/src/components/__snapshots__/index.test.js.snap +8 -12
  94. package/lib/components/Login/LoggedInMessage.js +0 -28
  95. package/lib/components/Login/LoggedInMessage.js.map +0 -1
  96. package/lib/components/Login/Login.js +0 -135
  97. package/lib/components/Login/Login.js.map +0 -1
  98. package/lib/components/Login/LoginForm.js +0 -112
  99. package/lib/components/Login/LoginForm.js.map +0 -1
  100. package/lib/components/Login/helpers/check-gtm-children.js +0 -42
  101. package/lib/components/Login/helpers/check-gtm-children.js.map +0 -1
  102. package/lib/components/Login/helpers/get-url-to-use.js +0 -18
  103. package/lib/components/Login/helpers/get-url-to-use.js.map +0 -1
  104. package/lib/components/Login/helpers/index.js +0 -22
  105. package/lib/components/Login/helpers/index.js.map +0 -1
  106. package/lib/components/Login/index.js.map +0 -1
  107. package/lib/components/PasswordReset/PasswordReset.js +0 -172
  108. package/lib/components/PasswordReset/PasswordReset.js.map +0 -1
  109. package/lib/components/PasswordReset/helpers/index.js +0 -15
  110. package/lib/components/PasswordReset/helpers/index.js.map +0 -1
  111. package/lib/components/PasswordReset/helpers/validatePassword.js +0 -16
  112. package/lib/components/PasswordReset/helpers/validatePassword.js.map +0 -1
  113. package/lib/components/PasswordReset/index.js.map +0 -1
  114. package/lib/components/PasswordResetRequest/PasswordResetRequest.js +0 -114
  115. package/lib/components/PasswordResetRequest/PasswordResetRequest.js.map +0 -1
  116. package/lib/components/PasswordResetRequest/index.js +0 -12
  117. package/lib/components/PasswordResetRequest/index.js.map +0 -1
  118. package/lib-es/components/Login/LoggedInMessage.js +0 -18
  119. package/lib-es/components/Login/LoggedInMessage.js.map +0 -1
  120. package/lib-es/components/Login/Login.js +0 -83
  121. package/lib-es/components/Login/Login.js.map +0 -1
  122. package/lib-es/components/Login/LoginForm.js +0 -89
  123. package/lib-es/components/Login/LoginForm.js.map +0 -1
  124. package/lib-es/components/Login/helpers/check-gtm-children.js +0 -35
  125. package/lib-es/components/Login/helpers/check-gtm-children.js.map +0 -1
  126. package/lib-es/components/Login/helpers/get-url-to-use.js +0 -10
  127. package/lib-es/components/Login/helpers/get-url-to-use.js.map +0 -1
  128. package/lib-es/components/Login/helpers/index.js +0 -4
  129. package/lib-es/components/Login/helpers/index.js.map +0 -1
  130. package/lib-es/components/Login/index.js +0 -3
  131. package/lib-es/components/Login/index.js.map +0 -1
  132. package/lib-es/components/PasswordReset/PasswordReset.js +0 -144
  133. package/lib-es/components/PasswordReset/PasswordReset.js.map +0 -1
  134. package/lib-es/components/PasswordReset/helpers/index.js +0 -3
  135. package/lib-es/components/PasswordReset/helpers/index.js.map +0 -1
  136. package/lib-es/components/PasswordReset/helpers/validatePassword.js +0 -7
  137. package/lib-es/components/PasswordReset/helpers/validatePassword.js.map +0 -1
  138. package/lib-es/components/PasswordReset/index.js +0 -3
  139. package/lib-es/components/PasswordReset/index.js.map +0 -1
  140. package/lib-es/components/PasswordResetRequest/PasswordResetRequest.js +0 -92
  141. package/lib-es/components/PasswordResetRequest/PasswordResetRequest.js.map +0 -1
  142. package/lib-es/components/PasswordResetRequest/index.js +0 -3
  143. package/lib-es/components/PasswordResetRequest/index.js.map +0 -1
  144. package/src/components/Login/LoggedInMessage.js +0 -24
  145. package/src/components/Login/Login.js +0 -74
  146. package/src/components/Login/LoginForm.js +0 -81
  147. package/src/components/Login/helpers/check-gtm-children.js +0 -30
  148. package/src/components/Login/helpers/get-url-to-use.js +0 -6
  149. package/src/components/Login/helpers/index.js +0 -4
  150. package/src/components/Login/index.js +0 -3
  151. package/src/components/PasswordReset/PasswordReset.js +0 -120
  152. package/src/components/PasswordReset/helpers/index.js +0 -3
  153. package/src/components/PasswordReset/helpers/validatePassword.js +0 -8
  154. package/src/components/PasswordReset/index.js +0 -3
  155. package/src/components/PasswordResetRequest/PasswordResetRequest.js +0 -82
  156. package/src/components/PasswordResetRequest/index.js +0 -3
  157. package/tests/unit/src/components/Login/Login.test.js +0 -36
  158. package/tests/unit/src/components/Login/__snapshots__/Login.test.js.snap +0 -103
  159. package/tests/unit/src/components/Login/helpers/check-gtm-children.test.js +0 -60
  160. package/tests/unit/src/components/Login/helpers/get-url-to-use.test.js +0 -15
  161. package/tests/unit/src/components/PasswordReset/PasswordReset.test.js +0 -85
  162. package/tests/unit/src/components/PasswordReset/__snapshots__/PasswordReset.test.js.snap +0 -83
  163. package/tests/unit/src/components/PasswordReset/helpers/validatePassword.test.js +0 -21
  164. package/tests/unit/src/components/PasswordResetRequest/PasswordResetRequest.test.js +0 -79
  165. package/tests/unit/src/components/PasswordResetRequest/__snapshots__/PasswordResetRequest.test.js.snap +0 -39
package/CHANGELOG.md CHANGED
@@ -3,6 +3,34 @@
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-alpha.18](https://github.com/thebyte9/blaze/compare/v0.125.0-alpha.17...v0.125.0-alpha.18) (2022-11-28)
7
+
8
+
9
+ ### Features
10
+
11
+ * add autoLogin function to auth provider requirements ([3f5e7ed](https://github.com/thebyte9/blaze/commit/3f5e7ed949052dcc6296ac7defe87ddce6869a65))
12
+ * allow setting custom html attribute on props to display ([115e3f1](https://github.com/thebyte9/blaze/commit/115e3f1540abfe6a5dd32dbebc2a4474197c262e))
13
+
14
+
15
+
16
+
17
+
18
+ # [0.125.0-alpha.15](https://github.com/thebyte9/blaze/compare/v0.125.0-alpha.14...v0.125.0-alpha.15) (2022-11-16)
19
+
20
+
21
+ ### Bug Fixes
22
+
23
+ * added link handler to card ([#3692](https://github.com/thebyte9/blaze/issues/3692)) ([d7c003d](https://github.com/thebyte9/blaze/commit/d7c003d85e4e8fba4c7707a61ea33cb9ac86fceb))
24
+
25
+
26
+ ### Features
27
+
28
+ * GroupContent components ([#3678](https://github.com/thebyte9/blaze/issues/3678)) ([b6f5c7e](https://github.com/thebyte9/blaze/commit/b6f5c7e6e5a03f2322f3d3c1568c9d42b33ede45))
29
+
30
+
31
+
32
+
33
+
6
34
  # [0.125.0-alpha.14](https://github.com/thebyte9/blaze/compare/v0.125.0-alpha.13...v0.125.0-alpha.14) (2022-10-25)
7
35
 
8
36
  **Note:** Version bump only for package @blaze-cms/react-page-builder
package/README.md CHANGED
@@ -99,9 +99,9 @@ _Source_ for checking ads https://dfpgpt.appspot.com/.
99
99
 
100
100
  ## Item List components
101
101
  There are three components related to item lists
102
- - ItemListButton: add/remove items from list
103
- - ItemListCounter: shows a counter of items in a list
104
- - 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
105
105
 
106
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.
107
107
 
@@ -115,7 +115,8 @@ List components are link by the "listName" property and when a new list is creat
115
115
 
116
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.
117
117
  - displayThumbnail: if true this will fetch the default card image url to displayed the the card
118
-
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">`
119
120
  ## Code
120
121
 
121
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`.
@@ -373,3 +374,5 @@ after: ITEM ITEM _BANNER_ ITEM ITEM ITEM _BANNER_ ITEM ITEM _BANNER_ ITEM ITEM I
373
374
  | BLAZE_PB_TEXTBLOCK_WRAPPER_ENABLE | Render legacy texblock component wrapper | false |
374
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 |
375
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
@@ -19,7 +19,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
19
19
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || (0, _typeof2["default"])(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; }
20
20
  var _default = (0, _dynamic["default"])(function () {
21
21
  return Promise.resolve().then(function () {
22
- return _interopRequireWildcard(require('./Banner'));
22
+ return _interopRequireWildcard(require( /* webpackChunkName: "blazePbBanner" */'./Banner'));
23
23
  });
24
24
  });
25
25
  exports["default"] = _default;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["dynamic"],"sources":["../../../src/components/Banner/index.js"],"sourcesContent":["import dynamic from 'next/dynamic';\n\nexport default dynamic(() => import(/* webpackChunkName: \"blazePbBanner\" */ './Banner'));\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAmC;AAAA;AAAA,eAEpB,IAAAA,mBAAO,EAAC;EAAA;IAAA,uCAAqD,UAAU;EAAA;AAAA,CAAC,CAAC;AAAA"}
1
+ {"version":3,"file":"index.js","names":["dynamic"],"sources":["../../../src/components/Banner/index.js"],"sourcesContent":["import dynamic from 'next/dynamic';\n\nexport default dynamic(() => import(/* webpackChunkName: \"blazePbBanner\" */ './Banner'));\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAmC;AAAA;AAAA,eAEpB,IAAAA,mBAAO,EAAC;EAAA;IAAA,wCAAa,uCAAwC,UAAU;EAAA;AAAA,CAAC,CAAC;AAAA"}
@@ -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":"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"}
@@ -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"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+ var _react = _interopRequireDefault(require("react"));
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+ var _ContentGroupTabs = _interopRequireDefault(require("./ContentGroupTabs"));
14
+ var _excluded = ["contentType"];
15
+ var ContentGroup = function ContentGroup(_ref) {
16
+ var contentType = _ref.contentType,
17
+ props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
18
+ if (contentType === 'tab' || contentType === 'sidepanel') return /*#__PURE__*/_react["default"].createElement(_ContentGroupTabs["default"], (0, _extends2["default"])({
19
+ contentType: contentType
20
+ }, props));
21
+ return '';
22
+ };
23
+ ContentGroup.propTypes = {
24
+ contentType: _propTypes["default"].string.isRequired
25
+ };
26
+ ContentGroup.defaultProps = {};
27
+ var _default = ContentGroup;
28
+ exports["default"] = _default;
29
+ //# sourceMappingURL=ContentGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContentGroup.js","names":["ContentGroup","contentType","props","propTypes","PropTypes","string","isRequired","defaultProps"],"sources":["../../../src/components/ContentGroup/ContentGroup.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ContentGroupTabs from './ContentGroupTabs';\n\nconst ContentGroup = ({ contentType, ...props }) => {\n if (contentType === 'tab' || contentType === 'sidepanel')\n return <ContentGroupTabs contentType={contentType} {...props} />;\n return '';\n};\n\nContentGroup.propTypes = {\n contentType: PropTypes.string.isRequired\n};\n\nContentGroup.defaultProps = {};\n\nexport default ContentGroup;\n"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;AAAkD;AAElD,IAAMA,YAAY,GAAG,SAAfA,YAAY,OAAkC;EAAA,IAA5BC,WAAW,QAAXA,WAAW;IAAKC,KAAK;EAC3C,IAAID,WAAW,KAAK,KAAK,IAAIA,WAAW,KAAK,WAAW,EACtD,oBAAO,gCAAC,4BAAgB;IAAC,WAAW,EAAEA;EAAY,GAAKC,KAAK,EAAI;EAClE,OAAO,EAAE;AACX,CAAC;AAEDF,YAAY,CAACG,SAAS,GAAG;EACvBF,WAAW,EAAEG,qBAAS,CAACC,MAAM,CAACC;AAChC,CAAC;AAEDN,YAAY,CAACO,YAAY,GAAG,CAAC,CAAC;AAAC,eAEhBP,YAAY;AAAA"}
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.array.iterator.js");
4
+ require("core-js/modules/es.object.to-string.js");
5
+ require("core-js/modules/es.string.iterator.js");
6
+ require("core-js/modules/es.weak-map.js");
7
+ require("core-js/modules/web.dom-collections.iterator.js");
8
+ require("core-js/modules/es.object.define-property.js");
9
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
10
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
11
+ var _typeof = require("@babel/runtime/helpers/typeof");
12
+ Object.defineProperty(exports, "__esModule", {
13
+ value: true
14
+ });
15
+ exports["default"] = void 0;
16
+ require("core-js/modules/es.function.name.js");
17
+ require("core-js/modules/es.array.map.js");
18
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
20
+ var _react = _interopRequireWildcard(require("react"));
21
+ var _propTypes = _interopRequireDefault(require("prop-types"));
22
+ var _excluded = ["name", "contentType", "modifier", "children"];
23
+ 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); }
24
+ 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; }
25
+ var ContentGroupTabs = function ContentGroupTabs(_ref) {
26
+ var _children$props;
27
+ var name = _ref.name,
28
+ contentType = _ref.contentType,
29
+ modifier = _ref.modifier,
30
+ children = _ref.children,
31
+ props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
32
+ var _useState = (0, _react.useState)('tab-0'),
33
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
34
+ selectedTab = _useState2[0],
35
+ setSelectedTab = _useState2[1];
36
+ var groupSections = children === null || children === void 0 ? void 0 : (_children$props = children.props) === null || _children$props === void 0 ? void 0 : _children$props.children[1];
37
+ var contentClassame = contentType === 'tab' ? '-tabs' : '-sidepanel';
38
+ if (!groupSections || !groupSections.length) return '';
39
+ return /*#__PURE__*/_react["default"].createElement("div", {
40
+ className: "content-group".concat(contentClassame)
41
+ }, /*#__PURE__*/_react["default"].createElement("ul", {
42
+ className: "content-group".concat(contentClassame, "__buttons-wrapper"),
43
+ role: "tablist",
44
+ "aria-label": name
45
+ }, groupSections.map(function (groupSection, index) {
46
+ var _groupSection$props = groupSection.props;
47
+ _groupSection$props = _groupSection$props === void 0 ? {} : _groupSection$props;
48
+ var _groupSection$props$c = _groupSection$props.component;
49
+ _groupSection$props$c = _groupSection$props$c === void 0 ? {} : _groupSection$props$c;
50
+ var _groupSection$props$c2 = _groupSection$props$c.settings;
51
+ _groupSection$props$c2 = _groupSection$props$c2 === void 0 ? {} : _groupSection$props$c2;
52
+ var sectionLabel = _groupSection$props$c2.label;
53
+ var tabId = "tab-".concat(index);
54
+ var panelId = "panel-".concat(index);
55
+ var isSelected = selectedTab === tabId;
56
+ var buttonClassName = isSelected ? "content-group".concat(contentClassame, "__button--is-active") : "content-group".concat(contentClassame, "__button");
57
+ return /*#__PURE__*/_react["default"].createElement("button", {
58
+ id: tabId,
59
+ key: tabId,
60
+ className: buttonClassName,
61
+ type: "button",
62
+ role: "tab",
63
+ "aria-selected": isSelected,
64
+ "aria-controls": panelId,
65
+ onClick: function onClick() {
66
+ return setSelectedTab(tabId);
67
+ }
68
+ }, sectionLabel);
69
+ })), groupSections.map(function (groupSection, index) {
70
+ var tabId = "tab-".concat(index);
71
+ var panelId = "panel-".concat(index);
72
+ if (selectedTab !== tabId) return null;
73
+ return /*#__PURE__*/_react["default"].createElement("div", {
74
+ id: panelId,
75
+ key: panelId,
76
+ className: "content-group".concat(contentClassame, "__content-section"),
77
+ role: "tabpanel",
78
+ "aria-labelledby": tabId
79
+ }, groupSection);
80
+ }));
81
+ };
82
+ ContentGroupTabs.propTypes = {
83
+ name: _propTypes["default"].string.isRequired,
84
+ contentType: _propTypes["default"].string.isRequired,
85
+ modifier: _propTypes["default"].string,
86
+ children: _propTypes["default"].object
87
+ };
88
+ ContentGroupTabs.defaultProps = {
89
+ modifier: '',
90
+ children: {}
91
+ };
92
+ var _default = ContentGroupTabs;
93
+ exports["default"] = _default;
94
+ //# sourceMappingURL=ContentGroupTabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContentGroupTabs.js","names":["ContentGroupTabs","name","contentType","modifier","children","props","useState","selectedTab","setSelectedTab","groupSections","contentClassame","length","map","groupSection","index","component","settings","sectionLabel","label","tabId","panelId","isSelected","buttonClassName","propTypes","PropTypes","string","isRequired","object","defaultProps"],"sources":["../../../src/components/ContentGroup/ContentGroupTabs.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nconst ContentGroupTabs = ({ name, contentType, modifier, children, ...props }) => {\n const [selectedTab, setSelectedTab] = useState('tab-0');\n const groupSections = children?.props?.children[1];\n const contentClassame = contentType === 'tab' ? '-tabs' : '-sidepanel';\n if (!groupSections || !groupSections.length) return '';\n\n return (\n <div className={`content-group${contentClassame}`}>\n <ul\n className={`content-group${contentClassame}__buttons-wrapper`}\n role=\"tablist\"\n aria-label={name}>\n {groupSections.map((groupSection, index) => {\n const {\n props: { component: { settings: { label: sectionLabel } = {} } = {} } = {}\n } = groupSection;\n const tabId = `tab-${index}`;\n const panelId = `panel-${index}`;\n const isSelected = selectedTab === tabId;\n const buttonClassName = isSelected\n ? `content-group${contentClassame}__button--is-active`\n : `content-group${contentClassame}__button`;\n\n return (\n <button\n id={tabId}\n key={tabId}\n className={buttonClassName}\n type=\"button\"\n role=\"tab\"\n aria-selected={isSelected}\n aria-controls={panelId}\n onClick={() => setSelectedTab(tabId)}>\n {sectionLabel}\n </button>\n );\n })}\n </ul>\n {groupSections.map((groupSection, index) => {\n const tabId = `tab-${index}`;\n const panelId = `panel-${index}`;\n if (selectedTab !== tabId) return null;\n\n return (\n <div\n id={panelId}\n key={panelId}\n className={`content-group${contentClassame}__content-section`}\n role=\"tabpanel\"\n aria-labelledby={tabId}>\n {groupSection}\n </div>\n );\n })}\n </div>\n );\n};\n\nContentGroupTabs.propTypes = {\n name: PropTypes.string.isRequired,\n contentType: PropTypes.string.isRequired,\n modifier: PropTypes.string,\n children: PropTypes.object\n};\n\nContentGroupTabs.defaultProps = {\n modifier: '',\n children: {}\n};\n\nexport default ContentGroupTabs;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AACA;AAAmC;AAAA;AAAA;AAEnC,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAgB,OAA4D;EAAA;EAAA,IAAtDC,IAAI,QAAJA,IAAI;IAAEC,WAAW,QAAXA,WAAW;IAAEC,QAAQ,QAARA,QAAQ;IAAEC,QAAQ,QAARA,QAAQ;IAAKC,KAAK;EACzE,gBAAsC,IAAAC,eAAQ,EAAC,OAAO,CAAC;IAAA;IAAhDC,WAAW;IAAEC,cAAc;EAClC,IAAMC,aAAa,GAAGL,QAAQ,aAARA,QAAQ,0CAARA,QAAQ,CAAEC,KAAK,oDAAf,gBAAiBD,QAAQ,CAAC,CAAC,CAAC;EAClD,IAAMM,eAAe,GAAGR,WAAW,KAAK,KAAK,GAAG,OAAO,GAAG,YAAY;EACtE,IAAI,CAACO,aAAa,IAAI,CAACA,aAAa,CAACE,MAAM,EAAE,OAAO,EAAE;EAEtD,oBACE;IAAK,SAAS,yBAAkBD,eAAe;EAAG,gBAChD;IACE,SAAS,yBAAkBA,eAAe,sBAAoB;IAC9D,IAAI,EAAC,SAAS;IACd,cAAYT;EAAK,GAChBQ,aAAa,CAACG,GAAG,CAAC,UAACC,YAAY,EAAEC,KAAK,EAAK;IAC1C,0BAEID,YAAY,CADdR,KAAK;IADP,uDAC0E,CAAC,CAAC;IAD5E,gDACWU,SAAS;IADpB,2DACmE,CAAC,CAAC;IADrE,mDACwBC,QAAQ;IADhC,6DAC4D,CAAC,CAAC;IAD9D,IAC2CC,YAAY,0BAAnBC,KAAK;IAEzC,IAAMC,KAAK,iBAAUL,KAAK,CAAE;IAC5B,IAAMM,OAAO,mBAAYN,KAAK,CAAE;IAChC,IAAMO,UAAU,GAAGd,WAAW,KAAKY,KAAK;IACxC,IAAMG,eAAe,GAAGD,UAAU,0BACdX,eAAe,kDACfA,eAAe,aAAU;IAE7C,oBACE;MACE,EAAE,EAAES,KAAM;MACV,GAAG,EAAEA,KAAM;MACX,SAAS,EAAEG,eAAgB;MAC3B,IAAI,EAAC,QAAQ;MACb,IAAI,EAAC,KAAK;MACV,iBAAeD,UAAW;MAC1B,iBAAeD,OAAQ;MACvB,OAAO,EAAE;QAAA,OAAMZ,cAAc,CAACW,KAAK,CAAC;MAAA;IAAC,GACpCF,YAAY,CACN;EAEb,CAAC,CAAC,CACC,EACJR,aAAa,CAACG,GAAG,CAAC,UAACC,YAAY,EAAEC,KAAK,EAAK;IAC1C,IAAMK,KAAK,iBAAUL,KAAK,CAAE;IAC5B,IAAMM,OAAO,mBAAYN,KAAK,CAAE;IAChC,IAAIP,WAAW,KAAKY,KAAK,EAAE,OAAO,IAAI;IAEtC,oBACE;MACE,EAAE,EAAEC,OAAQ;MACZ,GAAG,EAAEA,OAAQ;MACb,SAAS,yBAAkBV,eAAe,sBAAoB;MAC9D,IAAI,EAAC,UAAU;MACf,mBAAiBS;IAAM,GACtBN,YAAY,CACT;EAEV,CAAC,CAAC,CACE;AAEV,CAAC;AAEDb,gBAAgB,CAACuB,SAAS,GAAG;EAC3BtB,IAAI,EAAEuB,qBAAS,CAACC,MAAM,CAACC,UAAU;EACjCxB,WAAW,EAAEsB,qBAAS,CAACC,MAAM,CAACC,UAAU;EACxCvB,QAAQ,EAAEqB,qBAAS,CAACC,MAAM;EAC1BrB,QAAQ,EAAEoB,qBAAS,CAACG;AACtB,CAAC;AAED3B,gBAAgB,CAAC4B,YAAY,GAAG;EAC9BzB,QAAQ,EAAE,EAAE;EACZC,QAAQ,EAAE,CAAC;AACb,CAAC;AAAC,eAEaJ,gBAAgB;AAAA"}
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports["default"] = void 0;
9
- var _Login = _interopRequireDefault(require("./Login"));
10
- var _default = _Login["default"];
9
+ var _ContentGroup = _interopRequireDefault(require("./ContentGroup"));
10
+ var _default = _ContentGroup["default"];
11
11
  exports["default"] = _default;
12
12
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["ContentGroup"],"sources":["../../../src/components/ContentGroup/index.js"],"sourcesContent":["import ContentGroup from './ContentGroup';\n\nexport default ContentGroup;\n"],"mappings":";;;;;;;;AAAA;AAA0C,eAE3BA,wBAAY;AAAA"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
+ var _react = _interopRequireDefault(require("react"));
11
+ var _propTypes = _interopRequireDefault(require("prop-types"));
12
+ var _helpers = require("../../helpers");
13
+ var _excluded = ["children"];
14
+ var ContentGroupSection = function ContentGroupSection(_ref) {
15
+ var children = _ref.children,
16
+ props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
17
+ if (!(0, _helpers.hasChildren)(children)) return null;
18
+ return /*#__PURE__*/_react["default"].createElement("div", {
19
+ className: "content-group-section"
20
+ }, children);
21
+ };
22
+ ContentGroupSection.propTypes = {
23
+ children: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].node), _propTypes["default"].node])
24
+ };
25
+ ContentGroupSection.defaultProps = {
26
+ children: null
27
+ };
28
+ var _default = ContentGroupSection;
29
+ exports["default"] = _default;
30
+ //# sourceMappingURL=ContentGroupSection.js.map