@blaze-cms/react-page-builder 0.126.0-shorthand.2 → 0.126.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 (83) hide show
  1. package/CHANGELOG.md +7 -10
  2. package/README.md +0 -4
  3. package/lib/components/Banner/BannerRender.js +5 -5
  4. package/lib/components/Banner/BannerRender.js.map +1 -1
  5. package/lib/components/Banner/helpers.js +2 -2
  6. package/lib/components/Banner/helpers.js.map +1 -1
  7. package/lib/components/Card/CardContainer.js +3 -3
  8. package/lib/components/Card/CardContainer.js.map +1 -1
  9. package/lib/components/Code/Code.js +4 -7
  10. package/lib/components/Code/Code.js.map +1 -1
  11. package/lib/components/Code/helpers/wrap-script-tags.js +3 -7
  12. package/lib/components/Code/helpers/wrap-script-tags.js.map +1 -1
  13. package/lib/components/ContentGroup/ContentGroup.js +13 -4
  14. package/lib/components/ContentGroup/ContentGroup.js.map +1 -1
  15. package/lib/components/ContentGroup/ContentGroupTabs.js +43 -31
  16. package/lib/components/ContentGroup/ContentGroupTabs.js.map +1 -1
  17. package/lib/components/ContentGroup/constants.js +18 -0
  18. package/lib/components/ContentGroup/constants.js.map +1 -0
  19. package/lib/components/ContentGroup/helpers/get-active-tab.js +23 -0
  20. package/lib/components/ContentGroup/helpers/get-active-tab.js.map +1 -0
  21. package/lib/components/ContentGroup/helpers/get-sections-data.js +25 -0
  22. package/lib/components/ContentGroup/helpers/get-sections-data.js.map +1 -0
  23. package/lib/components/ContentGroup/helpers/index.js +22 -0
  24. package/lib/components/ContentGroup/helpers/index.js.map +1 -0
  25. package/lib/components/ContentGroupSection/ContentGroupSection.js +4 -1
  26. package/lib/components/ContentGroupSection/ContentGroupSection.js.map +1 -1
  27. package/lib/components/List/components/Cards/CardsRenderItem.js +1 -1
  28. package/lib/components/List/components/Cards/CardsRenderItem.js.map +1 -1
  29. package/lib/components/List/components/Full/FullRenderItem.js +1 -1
  30. package/lib/components/List/components/Full/FullRenderItem.js.map +1 -1
  31. package/lib/components/Video/providers/YouTube/YoutubeEmbeded.js +5 -1
  32. package/lib/components/Video/providers/YouTube/YoutubeEmbeded.js.map +1 -1
  33. package/lib-es/components/Banner/BannerRender.js +5 -5
  34. package/lib-es/components/Banner/BannerRender.js.map +1 -1
  35. package/lib-es/components/Banner/helpers.js +2 -2
  36. package/lib-es/components/Banner/helpers.js.map +1 -1
  37. package/lib-es/components/Card/CardContainer.js +3 -3
  38. package/lib-es/components/Card/CardContainer.js.map +1 -1
  39. package/lib-es/components/Code/Code.js +5 -8
  40. package/lib-es/components/Code/Code.js.map +1 -1
  41. package/lib-es/components/Code/helpers/wrap-script-tags.js +3 -7
  42. package/lib-es/components/Code/helpers/wrap-script-tags.js.map +1 -1
  43. package/lib-es/components/ContentGroup/ContentGroup.js +14 -5
  44. package/lib-es/components/ContentGroup/ContentGroup.js.map +1 -1
  45. package/lib-es/components/ContentGroup/ContentGroupTabs.js +48 -39
  46. package/lib-es/components/ContentGroup/ContentGroupTabs.js.map +1 -1
  47. package/lib-es/components/ContentGroup/constants.js +7 -0
  48. package/lib-es/components/ContentGroup/constants.js.map +1 -0
  49. package/lib-es/components/ContentGroup/helpers/get-active-tab.js +10 -0
  50. package/lib-es/components/ContentGroup/helpers/get-active-tab.js.map +1 -0
  51. package/lib-es/components/ContentGroup/helpers/get-sections-data.js +15 -0
  52. package/lib-es/components/ContentGroup/helpers/get-sections-data.js.map +1 -0
  53. package/lib-es/components/ContentGroup/helpers/index.js +4 -0
  54. package/lib-es/components/ContentGroup/helpers/index.js.map +1 -0
  55. package/lib-es/components/ContentGroupSection/ContentGroupSection.js +4 -2
  56. package/lib-es/components/ContentGroupSection/ContentGroupSection.js.map +1 -1
  57. package/lib-es/components/List/components/Cards/CardsRenderItem.js +1 -1
  58. package/lib-es/components/List/components/Cards/CardsRenderItem.js.map +1 -1
  59. package/lib-es/components/List/components/Full/FullRenderItem.js +1 -1
  60. package/lib-es/components/List/components/Full/FullRenderItem.js.map +1 -1
  61. package/lib-es/components/Video/providers/YouTube/YoutubeEmbeded.js +5 -1
  62. package/lib-es/components/Video/providers/YouTube/YoutubeEmbeded.js.map +1 -1
  63. package/package.json +3 -3
  64. package/src/components/Banner/BannerRender.js +4 -4
  65. package/src/components/Banner/helpers.js +3 -3
  66. package/src/components/Card/CardContainer.js +3 -3
  67. package/src/components/Code/Code.js +4 -6
  68. package/src/components/Code/helpers/wrap-script-tags.js +3 -7
  69. package/src/components/ContentGroup/ContentGroup.js +16 -4
  70. package/src/components/ContentGroup/ContentGroupTabs.js +44 -28
  71. package/src/components/ContentGroup/constants.js +7 -0
  72. package/src/components/ContentGroup/helpers/get-active-tab.js +11 -0
  73. package/src/components/ContentGroup/helpers/get-sections-data.js +7 -0
  74. package/src/components/ContentGroup/helpers/index.js +4 -0
  75. package/src/components/ContentGroupSection/ContentGroupSection.js +6 -2
  76. package/src/components/List/components/Cards/CardsRenderItem.js +1 -1
  77. package/src/components/List/components/Full/FullRenderItem.js +1 -1
  78. package/src/components/Video/providers/YouTube/YoutubeEmbeded.js +5 -1
  79. package/tests/unit/src/components/Banner/BannerRender.test.js +1 -1
  80. package/tests/unit/src/components/ContentGroup/ContentGroupTabs.test.js +14 -1
  81. package/tests/unit/src/components/ContentGroup/__snapshots__/ContentGroupTabs.test.js.snap +88 -2
  82. package/tests/unit/src/components/ContentGroup/helpers/get-active-tab.test.js +19 -0
  83. package/tests/unit/src/components/ContentGroup/helpers/get-sections-data.test.js +14 -0
package/CHANGELOG.md CHANGED
@@ -3,35 +3,32 @@
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.126.0-shorthand.2](https://github.com/thebyte9/blaze/compare/v0.126.0-shorthand.1...v0.126.0-shorthand.2) (2023-01-13)
6
+ # [0.126.0](https://github.com/thebyte9/blaze/compare/v0.126.0-alpha.6...v0.126.0) (2023-01-17)
7
7
 
8
-
9
- ### Features
10
-
11
- * add renderCount prop to shorthand children. Allow submitting of different story url formats ([e81e135](https://github.com/thebyte9/blaze/commit/e81e135adaf26348de8a6d050e4bd55996b4a0c5))
8
+ **Note:** Version bump only for package @blaze-cms/react-page-builder
12
9
 
13
10
 
14
11
 
15
12
 
16
13
 
17
- # [0.126.0-shorthand.1](https://github.com/thebyte9/blaze/compare/v0.126.0-shorthand.0...v0.126.0-shorthand.1) (2022-12-21)
14
+ # [0.126.0-alpha.5](https://github.com/thebyte9/blaze/compare/v0.126.0-alpha.4...v0.126.0-alpha.5) (2023-01-12)
18
15
 
19
16
 
20
17
  ### Features
21
18
 
22
- * add shorthand children component insert ([f0ca4d6](https://github.com/thebyte9/blaze/commit/f0ca4d6731f52a506e8c598940419cfca57f1a14))
19
+ * content groups anchor links in the url ([#3736](https://github.com/thebyte9/blaze/issues/3736)) ([b0fb981](https://github.com/thebyte9/blaze/commit/b0fb9814a62bba34e005537a7410550b1ac79afc))
23
20
 
24
21
 
25
22
 
26
23
 
27
24
 
28
- # [0.126.0-shorthand.0](https://github.com/thebyte9/blaze/compare/v0.125.1...v0.126.0-shorthand.0) (2022-12-15)
25
+ # [0.126.0-alpha.0](https://github.com/thebyte9/blaze/compare/v0.125.0...v0.126.0-alpha.0) (2022-12-02)
29
26
 
30
27
 
31
28
  ### Features
32
29
 
33
- * frontend should always search with pageBuilderIndexed property ([#3725](https://github.com/thebyte9/blaze/issues/3725)) ([824b1fc](https://github.com/thebyte9/blaze/commit/824b1fcfddc4b26d6201269eba20d953e2c5be50))
34
- * vimeo player lazy loading ([#3723](https://github.com/thebyte9/blaze/issues/3723)) ([f5972a9](https://github.com/thebyte9/blaze/commit/f5972a96e14f05b925b9d015ae939c7d33013778))
30
+ * frontend should always search with pageBuilderIndexed property ([#3725](https://github.com/thebyte9/blaze/issues/3725)) ([dea4943](https://github.com/thebyte9/blaze/commit/dea49431c36cc28afb99a715a764bb5bb4a6da30))
31
+ * vimeo player lazy loading ([#3723](https://github.com/thebyte9/blaze/issues/3723)) ([c2814eb](https://github.com/thebyte9/blaze/commit/c2814eb03f89d885dcf845ecdf07728645a607cb))
35
32
 
36
33
 
37
34
 
package/README.md CHANGED
@@ -69,10 +69,6 @@ Once the [adSlot has loaded](https://react-dfp.surge.sh/adslot/onslotrender/) th
69
69
  | ad-slot-loaded | Adslot is loaded with and ad |
70
70
  | ad-slot-empty | Adslot is loaded but no ad was loaded from dfp |
71
71
 
72
- #### renderCounter
73
-
74
- This prop can be used to indicate the `posn` targeting that should be used. It is useful when generating additional banner components from a base component as it allows them to be easy to target individually in DFP.
75
-
76
72
  ### getParsedSizes
77
73
 
78
74
  This is a helper that enables backwards compatibility for the data when banner could have sizes saved as string. Newly created banners should all have field sizeId (instead sizes), which is a select to chose from defined banner sizes.
@@ -25,7 +25,7 @@ var _helpers = require("./helpers");
25
25
  var _constants = require("../../constants");
26
26
  var _HOC = require("../../HOC");
27
27
  var _AdSlotRender = _interopRequireDefault(require("./AdSlotRender"));
28
- var _excluded = ["baseAdunit", "adunit", "sizeId", "sizes", "propsToDisplay", "entity", "targetings", "parent", "asPath", "action", "actionKey", "renderCounter", "userPropsData"];
28
+ var _excluded = ["baseAdunit", "adunit", "sizeId", "sizes", "propsToDisplay", "entity", "targetings", "parent", "asPath", "action", "actionKey", "cardBannerIndex", "userPropsData"];
29
29
  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; }
30
30
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
31
31
  var BannerRender = function BannerRender(_ref) {
@@ -40,7 +40,7 @@ var BannerRender = function BannerRender(_ref) {
40
40
  asPath = _ref.asPath,
41
41
  action = _ref.action,
42
42
  actionKey = _ref.actionKey,
43
- renderCounter = _ref.renderCounter,
43
+ cardBannerIndex = _ref.cardBannerIndex,
44
44
  userPropsData = _ref.userPropsData,
45
45
  otherProps = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
46
46
  var id = otherProps.id;
@@ -86,7 +86,7 @@ var BannerRender = function BannerRender(_ref) {
86
86
  var isContextualTargetingSet = propsToDisplay.length && parsedTargetings && Object.keys(parsedTargetings).length;
87
87
  var isContextualTargetingReady = isContextualTargetingSet || !propsToDisplay.length;
88
88
  var shouldShowBanner = parsedAdunit && parsedSizes && !!parsedSizes.length && isContextualTargetingReady;
89
- var customTargetings = (0, _helpers.setCustomTargetings)(targetings, renderCounter);
89
+ var customTargetings = (0, _helpers.setCustomTargetings)(targetings, cardBannerIndex);
90
90
  var targetingArguments = _objectSpread(_objectSpread(_objectSpread({}, parsedTargetings), customTargetings), userPropsData);
91
91
  return /*#__PURE__*/_react["default"].createElement(_AdSlotRender["default"], {
92
92
  shouldShowBanner: !!shouldShowBanner,
@@ -109,7 +109,7 @@ BannerRender.propTypes = {
109
109
  entity: _propTypes["default"].string,
110
110
  targetings: _propTypes["default"].string,
111
111
  sizes: _propTypes["default"].string,
112
- renderCounter: _propTypes["default"].number,
112
+ cardBannerIndex: _propTypes["default"].number,
113
113
  userPropsData: _propTypes["default"].object
114
114
  };
115
115
  BannerRender.defaultProps = {
@@ -120,7 +120,7 @@ BannerRender.defaultProps = {
120
120
  entity: '',
121
121
  targetings: '',
122
122
  sizes: '',
123
- renderCounter: null,
123
+ cardBannerIndex: null,
124
124
  userPropsData: {}
125
125
  };
126
126
  var _default = (0, _HOC.withTitle)(BannerRender);
@@ -1 +1 @@
1
- {"version":3,"file":"BannerRender.js","names":["BannerRender","baseAdunit","adunit","sizeId","sizes","propsToDisplay","entity","targetings","parent","asPath","action","actionKey","renderCounter","userPropsData","otherProps","id","itemId","useQuery","variables","where","skip","data","entityRecordData","generateSingleItemQuery","GET_BANNER","BANNER_QUERY_PROPS","bannerData","getCount","COUNT_CONTENT_HIERARCHIES","parentId","childEntity","_ilike","PUBLISHED","parsedTargetings","buildContextualTargeting","entityData","bannerSizes","sizeMapping","buildSizeMapping","parsedSizes","buildBannerSizes","countContentHierarchies","parsedAdunit","buildParsedAdunit","isContextualTargetingSet","length","Object","keys","isContextualTargetingReady","shouldShowBanner","customTargetings","setCustomTargetings","targetingArguments","propTypes","PropTypes","object","isRequired","string","array","number","defaultProps","withTitle"],"sources":["../../../src/components/Banner/BannerRender.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { useQuery } from '@apollo/client';\n\nimport { generateSingleItemQuery, getCount } from '../../application/query';\nimport {\n buildBannerSizes,\n buildContextualTargeting,\n buildParsedAdunit,\n buildSizeMapping,\n setCustomTargetings\n} from './helpers';\nimport {\n BANNER_QUERY_PROPS,\n COUNT_CONTENT_HIERARCHIES,\n GET_BANNER,\n PUBLISHED\n} from '../../constants';\nimport { withTitle } from '../../HOC';\nimport AdSlotRender from './AdSlotRender';\n\nconst BannerRender = ({\n baseAdunit,\n adunit,\n sizeId,\n sizes,\n propsToDisplay,\n entity,\n targetings,\n parent,\n asPath,\n action,\n actionKey,\n renderCounter,\n userPropsData,\n ...otherProps\n}) => {\n const { id } = otherProps;\n const { itemId } = parent;\n\n const { data: entityRecordData = {} } = useQuery(action, {\n variables: { where: { id: id || itemId } },\n skip: id && id !== itemId\n });\n\n const { data: bannerData = {} } = useQuery(\n generateSingleItemQuery(GET_BANNER, BANNER_QUERY_PROPS),\n {\n variables: { id: sizeId },\n skip: !sizeId\n }\n );\n\n const { data = {} } = useQuery(getCount(COUNT_CONTENT_HIERARCHIES), {\n variables: {\n where: {\n parentId: id || itemId,\n childEntity: {\n _ilike: `${PUBLISHED}_%`\n }\n }\n }\n });\n\n const parsedTargetings = buildContextualTargeting(actionKey, entityRecordData, propsToDisplay);\n const { entityData } = bannerData;\n const { sizes: bannerSizes } = entityData || {};\n\n const sizeMapping = buildSizeMapping(sizeId, bannerSizes);\n const parsedSizes = buildBannerSizes(sizeId, bannerSizes, sizes);\n\n const { countContentHierarchies } = data;\n\n const parsedAdunit = buildParsedAdunit(asPath, countContentHierarchies, baseAdunit, adunit);\n const isContextualTargetingSet =\n propsToDisplay.length && parsedTargetings && Object.keys(parsedTargetings).length;\n const isContextualTargetingReady = isContextualTargetingSet || !propsToDisplay.length;\n const shouldShowBanner =\n parsedAdunit && parsedSizes && !!parsedSizes.length && isContextualTargetingReady;\n\n const customTargetings = setCustomTargetings(targetings, renderCounter);\n\n const targetingArguments = { ...parsedTargetings, ...customTargetings, ...userPropsData };\n\n return (\n <AdSlotRender\n shouldShowBanner={!!shouldShowBanner}\n sizeMapping={sizeMapping}\n sizeId={sizeId}\n parsedAdunit={parsedAdunit}\n parsedSizes={parsedSizes}\n targetingArguments={targetingArguments}\n />\n );\n};\n\nBannerRender.propTypes = {\n parent: PropTypes.object.isRequired,\n asPath: PropTypes.string.isRequired,\n action: PropTypes.object.isRequired,\n actionKey: PropTypes.string.isRequired,\n adunit: PropTypes.string,\n baseAdunit: PropTypes.string,\n sizeId: PropTypes.string,\n propsToDisplay: PropTypes.array,\n entity: PropTypes.string,\n targetings: PropTypes.string,\n sizes: PropTypes.string,\n renderCounter: PropTypes.number,\n userPropsData: PropTypes.object\n};\n\nBannerRender.defaultProps = {\n adunit: '',\n baseAdunit: '',\n sizeId: '',\n propsToDisplay: [],\n entity: '',\n targetings: '',\n sizes: '',\n renderCounter: null,\n userPropsData: {}\n};\n\nexport default withTitle(BannerRender);\n"],"mappings":"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"}
1
+ {"version":3,"file":"BannerRender.js","names":["BannerRender","baseAdunit","adunit","sizeId","sizes","propsToDisplay","entity","targetings","parent","asPath","action","actionKey","cardBannerIndex","userPropsData","otherProps","id","itemId","useQuery","variables","where","skip","data","entityRecordData","generateSingleItemQuery","GET_BANNER","BANNER_QUERY_PROPS","bannerData","getCount","COUNT_CONTENT_HIERARCHIES","parentId","childEntity","_ilike","PUBLISHED","parsedTargetings","buildContextualTargeting","entityData","bannerSizes","sizeMapping","buildSizeMapping","parsedSizes","buildBannerSizes","countContentHierarchies","parsedAdunit","buildParsedAdunit","isContextualTargetingSet","length","Object","keys","isContextualTargetingReady","shouldShowBanner","customTargetings","setCustomTargetings","targetingArguments","propTypes","PropTypes","object","isRequired","string","array","number","defaultProps","withTitle"],"sources":["../../../src/components/Banner/BannerRender.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { useQuery } from '@apollo/client';\n\nimport { generateSingleItemQuery, getCount } from '../../application/query';\nimport {\n buildBannerSizes,\n buildContextualTargeting,\n buildParsedAdunit,\n buildSizeMapping,\n setCustomTargetings\n} from './helpers';\nimport {\n BANNER_QUERY_PROPS,\n COUNT_CONTENT_HIERARCHIES,\n GET_BANNER,\n PUBLISHED\n} from '../../constants';\nimport { withTitle } from '../../HOC';\nimport AdSlotRender from './AdSlotRender';\n\nconst BannerRender = ({\n baseAdunit,\n adunit,\n sizeId,\n sizes,\n propsToDisplay,\n entity,\n targetings,\n parent,\n asPath,\n action,\n actionKey,\n cardBannerIndex,\n userPropsData,\n ...otherProps\n}) => {\n const { id } = otherProps;\n const { itemId } = parent;\n\n const { data: entityRecordData = {} } = useQuery(action, {\n variables: { where: { id: id || itemId } },\n skip: id && id !== itemId\n });\n\n const { data: bannerData = {} } = useQuery(\n generateSingleItemQuery(GET_BANNER, BANNER_QUERY_PROPS),\n {\n variables: { id: sizeId },\n skip: !sizeId\n }\n );\n\n const { data = {} } = useQuery(getCount(COUNT_CONTENT_HIERARCHIES), {\n variables: {\n where: {\n parentId: id || itemId,\n childEntity: {\n _ilike: `${PUBLISHED}_%`\n }\n }\n }\n });\n\n const parsedTargetings = buildContextualTargeting(actionKey, entityRecordData, propsToDisplay);\n const { entityData } = bannerData;\n const { sizes: bannerSizes } = entityData || {};\n\n const sizeMapping = buildSizeMapping(sizeId, bannerSizes);\n const parsedSizes = buildBannerSizes(sizeId, bannerSizes, sizes);\n\n const { countContentHierarchies } = data;\n\n const parsedAdunit = buildParsedAdunit(asPath, countContentHierarchies, baseAdunit, adunit);\n const isContextualTargetingSet =\n propsToDisplay.length && parsedTargetings && Object.keys(parsedTargetings).length;\n const isContextualTargetingReady = isContextualTargetingSet || !propsToDisplay.length;\n const shouldShowBanner =\n parsedAdunit && parsedSizes && !!parsedSizes.length && isContextualTargetingReady;\n\n const customTargetings = setCustomTargetings(targetings, cardBannerIndex);\n\n const targetingArguments = { ...parsedTargetings, ...customTargetings, ...userPropsData };\n\n return (\n <AdSlotRender\n shouldShowBanner={!!shouldShowBanner}\n sizeMapping={sizeMapping}\n sizeId={sizeId}\n parsedAdunit={parsedAdunit}\n parsedSizes={parsedSizes}\n targetingArguments={targetingArguments}\n />\n );\n};\n\nBannerRender.propTypes = {\n parent: PropTypes.object.isRequired,\n asPath: PropTypes.string.isRequired,\n action: PropTypes.object.isRequired,\n actionKey: PropTypes.string.isRequired,\n adunit: PropTypes.string,\n baseAdunit: PropTypes.string,\n sizeId: PropTypes.string,\n propsToDisplay: PropTypes.array,\n entity: PropTypes.string,\n targetings: PropTypes.string,\n sizes: PropTypes.string,\n cardBannerIndex: PropTypes.number,\n userPropsData: PropTypes.object\n};\n\nBannerRender.defaultProps = {\n adunit: '',\n baseAdunit: '',\n sizeId: '',\n propsToDisplay: [],\n entity: '',\n targetings: '',\n sizes: '',\n cardBannerIndex: null,\n userPropsData: {}\n};\n\nexport default withTitle(BannerRender);\n"],"mappings":"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"}
@@ -54,9 +54,9 @@ var buildTargetingValue = function buildTargetingValue(valueTargeting) {
54
54
  return _char === ';' ? ',' : '';
55
55
  }).split(',') : valueTargeting;
56
56
  };
57
- var setCustomTargetings = function setCustomTargetings(targetings, renderCounter) {
57
+ var setCustomTargetings = function setCustomTargetings(targetings, cardBannerIndex) {
58
58
  var bannerTargetings = {};
59
- var updatedTargetings = renderCounter ? addPosnToTargetings(targetings, renderCounter) : targetings;
59
+ var updatedTargetings = cardBannerIndex ? addPosnToTargetings(targetings, cardBannerIndex) : targetings;
60
60
  var isValidTargeting = updatedTargetings && typeof updatedTargetings === 'string';
61
61
  if (isValidTargeting) {
62
62
  var customTargeting = {};
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","names":["getParsedSizes","sizes","sanitizedSizes","replace","toLowerCase","sizeGroups","split","map","group","Number","addPosnToTargetings","targetings","index","posn","buildTargetingValue","valueTargeting","includes","char","setCustomTargetings","renderCounter","bannerTargetings","updatedTargetings","isValidTargeting","customTargeting","splitTargeting","Object","keys","forEach","key","keyTargeting","buildParsedAdunit","path","countContentHierarchies","baseAdunit","adunit","isInteger","base","process","env","DFP_BASE_ADUNIT","hasChildren","parseUrl","url","urlParts","filter","Boolean","urlPart","slice","length","join","endAdunit","END_ADUNIT","getBannerSizes","sizeId","bannerSizes","width","height","buildBannerSizes","parsedSizes","buildContextualTargeting","actionKey","props","propsToDisplay","data","buildPropsData","buildSizeMapping","sizeMapping","groupedViewports","reduce","acc","viewports","size","viewportWidth","viewportHeight","push","keyGroupedViewport","viewport","getMaxBannerHeight","Array","isArray","Math","max","o","MAX_BANNER_HEIGHT","getMinBannerHeight","min","MIN_BANNER_HEIGHT","buildUserQuery","userProps","basicProps","nestedProps","propertiesToDisplay","propKey","indexOf","baseProp","nestedProp","nestedKey","nested","prop","propsWithData","label","parsedKey","value","getNestedValue","labelToUse","parseArrayValues","arr","obj","object","shift","nestedValue"],"sources":["../../../src/components/Banner/helpers.js"],"sourcesContent":["import { parseUrl } from 'query-string';\nimport { END_ADUNIT, MAX_BANNER_HEIGHT, MIN_BANNER_HEIGHT } from '../../constants';\n\nconst getParsedSizes = (sizes = '') => {\n if (typeof sizes !== 'string') return [];\n\n const sanitizedSizes = sizes.replace(/\\s+/, '').toLowerCase();\n const sizeGroups = sanitizedSizes.split(',');\n\n return sizeGroups.map(group => group.split('x').map(Number));\n};\n\nconst addPosnToTargetings = (targetings, index) => {\n const posn = `posn=${index}`;\n return targetings ? `${targetings},${posn}` : posn;\n};\n\nconst buildTargetingValue = valueTargeting =>\n valueTargeting.includes('[') && valueTargeting.includes(']')\n ? valueTargeting.replace(/\\;|\\[|\\]/gm, char => (char === ';' ? ',' : '')).split(',')\n : valueTargeting;\n\nconst setCustomTargetings = (targetings, renderCounter) => {\n let bannerTargetings = {};\n\n const updatedTargetings = renderCounter\n ? addPosnToTargetings(targetings, renderCounter)\n : targetings;\n\n const isValidTargeting = updatedTargetings && typeof updatedTargetings === 'string';\n\n if (isValidTargeting) {\n const customTargeting = {};\n\n let splitTargeting = updatedTargetings.split(',');\n splitTargeting = { ...splitTargeting };\n\n Object.keys(splitTargeting).forEach(key => {\n const [keyTargeting, valueTargeting] = splitTargeting[key].split('=');\n\n if (keyTargeting && valueTargeting) {\n customTargeting[keyTargeting] = buildTargetingValue(valueTargeting);\n }\n });\n bannerTargetings = { ...bannerTargetings, ...customTargeting };\n }\n\n return bannerTargetings;\n};\n\nconst buildParsedAdunit = (path, countContentHierarchies, baseAdunit, adunit) => {\n if (!Number.isInteger(countContentHierarchies)) return '';\n\n const base = baseAdunit || process.env.DFP_BASE_ADUNIT;\n const hasChildren = countContentHierarchies !== 0;\n const { url } = parseUrl(path);\n let urlParts = url\n .split('/')\n .filter(Boolean)\n .map(urlPart => urlPart.replace(/-/g, ''));\n urlParts = urlParts.slice(0, hasChildren ? urlParts.length : urlParts.length - 1).join('/');\n urlParts = urlParts ? `${urlParts}/` : urlParts;\n const endAdunit = adunit || END_ADUNIT;\n\n return `${base}/${urlParts}${endAdunit}`;\n};\n\nconst getBannerSizes = (sizeId, bannerSizes) =>\n sizeId && bannerSizes && bannerSizes.length\n ? bannerSizes.map(({ width, height }) => [width, height])\n : null;\n\nconst buildBannerSizes = (sizeId, bannerSizes, sizes) => {\n let parsedSizes = getBannerSizes(sizeId, bannerSizes);\n\n if (!parsedSizes && sizes) parsedSizes = getParsedSizes(sizes);\n\n return parsedSizes;\n};\n\nconst buildContextualTargeting = (actionKey, props = {}, propsToDisplay = []) => {\n if (actionKey && props[actionKey] && props[actionKey][0]) {\n const data = props[actionKey][0];\n return buildPropsData(data, propsToDisplay);\n }\n return {};\n};\n\nconst buildSizeMapping = (sizeId, bannerSizes) => {\n let sizeMapping = [];\n\n if (sizeId && bannerSizes && bannerSizes.length) {\n const groupedViewports = bannerSizes.reduce((acc, { width, height, viewports = [] }) => {\n const size = width && height ? [width, height] : null; // if one dimension is falsey then it shouldn't display\n\n if (viewports) {\n viewports.forEach(({ width: viewportWidth, height: viewportHeight }) => {\n const key = `${viewportWidth || 0}x${viewportHeight || 0}`;\n acc[key] = acc[key] || [];\n if (size) acc[key].push(size);\n });\n }\n return acc;\n }, {});\n\n sizeMapping = Object.keys(groupedViewports).map(keyGroupedViewport => {\n const [viewportWidth, viewportHeight] = keyGroupedViewport.split('x');\n return {\n viewport: [Number(viewportWidth), Number(viewportHeight)],\n sizes: groupedViewports[keyGroupedViewport]\n };\n });\n }\n\n return sizeMapping;\n};\n\nconst getMaxBannerHeight = bannerSizes => {\n if (Array.isArray(bannerSizes) && bannerSizes.length > 0) {\n return Math.max(...bannerSizes.map(o => o.height));\n }\n return MAX_BANNER_HEIGHT;\n};\n\nconst getMinBannerHeight = bannerSizes => {\n if (Array.isArray(bannerSizes) && bannerSizes.length > 0) {\n return Math.min(...bannerSizes.map(o => o.height));\n }\n return MIN_BANNER_HEIGHT;\n};\n\nconst buildUserQuery = userProps => {\n if (!userProps || !userProps.length) return '';\n const basicProps = [];\n const nestedProps = {};\n userProps.forEach(({ propertiesToDisplay }) => {\n const [propKey] = propertiesToDisplay;\n if (!propKey || propKey === 'id') return;\n if (propKey.indexOf('.') !== -1) {\n const [baseProp, nestedProp] = propKey.split('.');\n if (nestedProps[baseProp]) nestedProps[baseProp].push(nestedProp);\n else nestedProps[baseProp] = [nestedProp];\n } else basicProps.push(propKey);\n });\n\n Object.keys(nestedProps).forEach(nestedKey => {\n const nested = nestedProps[nestedKey];\n basicProps.push(nestedKey);\n basicProps.push('{');\n nested.forEach(prop => basicProps.push(prop));\n basicProps.push('}');\n });\n\n return basicProps.join(' ');\n};\n\nconst buildPropsData = (data, props) => {\n if (!data || !props.length) return {};\n const propsWithData = {};\n\n props.forEach(({ propertiesToDisplay, label }) => {\n const [key] = propertiesToDisplay;\n if (!key) return;\n\n const parsedKey = key.split('.');\n const value = getNestedValue(parsedKey, data);\n const labelToUse = label || key;\n\n propsWithData[labelToUse] = value;\n });\n return propsWithData;\n};\n\nconst parseArrayValues = (arr, key) => arr.map(obj => obj[key]).filter(Boolean);\n\nconst getNestedValue = (keys, object) => {\n const key = keys.shift();\n const nestedValue = Array.isArray(object) ? parseArrayValues(object, key) : object[key];\n if (!nestedValue) return null;\n return keys.length ? getNestedValue(keys, nestedValue) : nestedValue;\n};\n\nexport {\n getParsedSizes,\n setCustomTargetings,\n buildParsedAdunit,\n buildBannerSizes,\n buildContextualTargeting,\n buildSizeMapping,\n getMaxBannerHeight,\n getMinBannerHeight,\n buildPropsData,\n buildUserQuery\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","names":["getParsedSizes","sizes","sanitizedSizes","replace","toLowerCase","sizeGroups","split","map","group","Number","addPosnToTargetings","targetings","index","posn","buildTargetingValue","valueTargeting","includes","char","setCustomTargetings","cardBannerIndex","bannerTargetings","updatedTargetings","isValidTargeting","customTargeting","splitTargeting","Object","keys","forEach","key","keyTargeting","buildParsedAdunit","path","countContentHierarchies","baseAdunit","adunit","isInteger","base","process","env","DFP_BASE_ADUNIT","hasChildren","parseUrl","url","urlParts","filter","Boolean","urlPart","slice","length","join","endAdunit","END_ADUNIT","getBannerSizes","sizeId","bannerSizes","width","height","buildBannerSizes","parsedSizes","buildContextualTargeting","actionKey","props","propsToDisplay","data","buildPropsData","buildSizeMapping","sizeMapping","groupedViewports","reduce","acc","viewports","size","viewportWidth","viewportHeight","push","keyGroupedViewport","viewport","getMaxBannerHeight","Array","isArray","Math","max","o","MAX_BANNER_HEIGHT","getMinBannerHeight","min","MIN_BANNER_HEIGHT","buildUserQuery","userProps","basicProps","nestedProps","propertiesToDisplay","propKey","indexOf","baseProp","nestedProp","nestedKey","nested","prop","propsWithData","label","parsedKey","value","getNestedValue","labelToUse","parseArrayValues","arr","obj","object","shift","nestedValue"],"sources":["../../../src/components/Banner/helpers.js"],"sourcesContent":["import { parseUrl } from 'query-string';\nimport { END_ADUNIT, MAX_BANNER_HEIGHT, MIN_BANNER_HEIGHT } from '../../constants';\n\nconst getParsedSizes = (sizes = '') => {\n if (typeof sizes !== 'string') return [];\n\n const sanitizedSizes = sizes.replace(/\\s+/, '').toLowerCase();\n const sizeGroups = sanitizedSizes.split(',');\n\n return sizeGroups.map(group => group.split('x').map(Number));\n};\n\nconst addPosnToTargetings = (targetings, index) => {\n const posn = `posn=${index}`;\n return targetings ? `${targetings},${posn}` : posn;\n};\n\nconst buildTargetingValue = valueTargeting =>\n valueTargeting.includes('[') && valueTargeting.includes(']')\n ? valueTargeting.replace(/\\;|\\[|\\]/gm, char => (char === ';' ? ',' : '')).split(',')\n : valueTargeting;\n\nconst setCustomTargetings = (targetings, cardBannerIndex) => {\n let bannerTargetings = {};\n\n const updatedTargetings = cardBannerIndex\n ? addPosnToTargetings(targetings, cardBannerIndex)\n : targetings;\n\n const isValidTargeting = updatedTargetings && typeof updatedTargetings === 'string';\n\n if (isValidTargeting) {\n const customTargeting = {};\n\n let splitTargeting = updatedTargetings.split(',');\n splitTargeting = { ...splitTargeting };\n\n Object.keys(splitTargeting).forEach(key => {\n const [keyTargeting, valueTargeting] = splitTargeting[key].split('=');\n\n if (keyTargeting && valueTargeting) {\n customTargeting[keyTargeting] = buildTargetingValue(valueTargeting);\n }\n });\n bannerTargetings = { ...bannerTargetings, ...customTargeting };\n }\n\n return bannerTargetings;\n};\n\nconst buildParsedAdunit = (path, countContentHierarchies, baseAdunit, adunit) => {\n if (!Number.isInteger(countContentHierarchies)) return '';\n\n const base = baseAdunit || process.env.DFP_BASE_ADUNIT;\n const hasChildren = countContentHierarchies !== 0;\n const { url } = parseUrl(path);\n let urlParts = url\n .split('/')\n .filter(Boolean)\n .map(urlPart => urlPart.replace(/-/g, ''));\n urlParts = urlParts.slice(0, hasChildren ? urlParts.length : urlParts.length - 1).join('/');\n urlParts = urlParts ? `${urlParts}/` : urlParts;\n const endAdunit = adunit || END_ADUNIT;\n\n return `${base}/${urlParts}${endAdunit}`;\n};\n\nconst getBannerSizes = (sizeId, bannerSizes) =>\n sizeId && bannerSizes && bannerSizes.length\n ? bannerSizes.map(({ width, height }) => [width, height])\n : null;\n\nconst buildBannerSizes = (sizeId, bannerSizes, sizes) => {\n let parsedSizes = getBannerSizes(sizeId, bannerSizes);\n\n if (!parsedSizes && sizes) parsedSizes = getParsedSizes(sizes);\n\n return parsedSizes;\n};\n\nconst buildContextualTargeting = (actionKey, props = {}, propsToDisplay = []) => {\n if (actionKey && props[actionKey] && props[actionKey][0]) {\n const data = props[actionKey][0];\n return buildPropsData(data, propsToDisplay);\n }\n return {};\n};\n\nconst buildSizeMapping = (sizeId, bannerSizes) => {\n let sizeMapping = [];\n\n if (sizeId && bannerSizes && bannerSizes.length) {\n const groupedViewports = bannerSizes.reduce((acc, { width, height, viewports = [] }) => {\n const size = width && height ? [width, height] : null; // if one dimension is falsey then it shouldn't display\n\n if (viewports) {\n viewports.forEach(({ width: viewportWidth, height: viewportHeight }) => {\n const key = `${viewportWidth || 0}x${viewportHeight || 0}`;\n acc[key] = acc[key] || [];\n if (size) acc[key].push(size);\n });\n }\n return acc;\n }, {});\n\n sizeMapping = Object.keys(groupedViewports).map(keyGroupedViewport => {\n const [viewportWidth, viewportHeight] = keyGroupedViewport.split('x');\n return {\n viewport: [Number(viewportWidth), Number(viewportHeight)],\n sizes: groupedViewports[keyGroupedViewport]\n };\n });\n }\n\n return sizeMapping;\n};\n\nconst getMaxBannerHeight = bannerSizes => {\n if (Array.isArray(bannerSizes) && bannerSizes.length > 0) {\n return Math.max(...bannerSizes.map(o => o.height));\n }\n return MAX_BANNER_HEIGHT;\n};\n\nconst getMinBannerHeight = bannerSizes => {\n if (Array.isArray(bannerSizes) && bannerSizes.length > 0) {\n return Math.min(...bannerSizes.map(o => o.height));\n }\n return MIN_BANNER_HEIGHT;\n};\n\nconst buildUserQuery = userProps => {\n if (!userProps || !userProps.length) return '';\n const basicProps = [];\n const nestedProps = {};\n userProps.forEach(({ propertiesToDisplay }) => {\n const [propKey] = propertiesToDisplay;\n if (!propKey || propKey === 'id') return;\n if (propKey.indexOf('.') !== -1) {\n const [baseProp, nestedProp] = propKey.split('.');\n if (nestedProps[baseProp]) nestedProps[baseProp].push(nestedProp);\n else nestedProps[baseProp] = [nestedProp];\n } else basicProps.push(propKey);\n });\n\n Object.keys(nestedProps).forEach(nestedKey => {\n const nested = nestedProps[nestedKey];\n basicProps.push(nestedKey);\n basicProps.push('{');\n nested.forEach(prop => basicProps.push(prop));\n basicProps.push('}');\n });\n\n return basicProps.join(' ');\n};\n\nconst buildPropsData = (data, props) => {\n if (!data || !props.length) return {};\n const propsWithData = {};\n\n props.forEach(({ propertiesToDisplay, label }) => {\n const [key] = propertiesToDisplay;\n if (!key) return;\n\n const parsedKey = key.split('.');\n const value = getNestedValue(parsedKey, data);\n const labelToUse = label || key;\n\n propsWithData[labelToUse] = value;\n });\n return propsWithData;\n};\n\nconst parseArrayValues = (arr, key) => arr.map(obj => obj[key]).filter(Boolean);\n\nconst getNestedValue = (keys, object) => {\n const key = keys.shift();\n const nestedValue = Array.isArray(object) ? parseArrayValues(object, key) : object[key];\n if (!nestedValue) return null;\n return keys.length ? getNestedValue(keys, nestedValue) : nestedValue;\n};\n\nexport {\n getParsedSizes,\n setCustomTargetings,\n buildParsedAdunit,\n buildBannerSizes,\n buildContextualTargeting,\n buildSizeMapping,\n getMaxBannerHeight,\n getMinBannerHeight,\n buildPropsData,\n buildUserQuery\n};\n"],"mappings":"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"}
@@ -62,7 +62,7 @@ var CardContainer = function CardContainer(_ref) {
62
62
  itemId = _useContext.itemId;
63
63
  var propsToDisplayModifiers = (0, _utils.getPropsToDisplayModifiers)(propsToDisplay);
64
64
  var dynamicWrapperSizes = enableCarousel ? '' : (0, _helpers.getDynamicGridClasses)('grid', itemsPerRow, designConfig);
65
- var renderCounter = 0;
65
+ var cardBannerIndex = 0;
66
66
  var CardWrapper = enableCarousel ? _CarouselWrapper["default"] : _Wrapper["default"];
67
67
  return /*#__PURE__*/_react["default"].createElement(CardWrapper, {
68
68
  className: dynamicWrapperSizes,
@@ -77,7 +77,7 @@ var CardContainer = function CardContainer(_ref) {
77
77
  entityProps = (0, _objectWithoutProperties2["default"])(_ref2, _excluded2);
78
78
  var extraProps = (0, _helpers2.parsePropsToDisplay)(entityProps, propsToDisplay);
79
79
  var dynamicKey = [itemId, index].join('-');
80
- if (baseAdunit) renderCounter += 1;
80
+ if (baseAdunit) cardBannerIndex += 1;
81
81
  var priority = priorityLimit > 0 && index + 1 <= priorityLimit;
82
82
  return baseAdunit ? /*#__PURE__*/_react["default"].createElement(_Banner["default"], (0, _extends2["default"])({
83
83
  key: dynamicKey,
@@ -85,7 +85,7 @@ var CardContainer = function CardContainer(_ref) {
85
85
  baseAdunit: baseAdunit
86
86
  }, entityProps, {
87
87
  modifier: modifier,
88
- renderCounter: renderCounter
88
+ cardBannerIndex: cardBannerIndex
89
89
  })) : /*#__PURE__*/_react["default"].createElement(_Card["default"], (0, _extends2["default"])({
90
90
  key: id,
91
91
  id: id,
@@ -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","renderCounter","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 renderCounter = 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) renderCounter += 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 renderCounter={renderCounter}\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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"}
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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"}
@@ -30,17 +30,16 @@ var _HOC = require("../../HOC");
30
30
  var _utils = require("../../utils");
31
31
  var _constants = require("../../constants");
32
32
  var _helpers = require("./helpers");
33
- var _excluded = ["code", "parserOptions"];
33
+ var _excluded = ["code"];
34
34
  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); }
35
35
  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; }
36
36
  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; }
37
37
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
38
38
  var Code = /*#__PURE__*/(0, _react.memo)(function (_ref) {
39
39
  var embedCode = _ref.code,
40
- parserOptions = _ref.parserOptions,
41
40
  otherProps = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
42
41
  if (!embedCode) return null;
43
- var parsedCode = (0, _htmlReactParser["default"])(embedCode, parserOptions);
42
+ var parsedCode = (0, _htmlReactParser["default"])(embedCode);
44
43
  var wrappedCode = (0, _helpers.wrapScriptTags)(parsedCode);
45
44
  var modifiers = (0, _utils.getClassModifiers)(_constants.CODE, _objectSpread({}, otherProps));
46
45
  return /*#__PURE__*/_react["default"].createElement(_Wrapper["default"], {
@@ -49,13 +48,11 @@ var Code = /*#__PURE__*/(0, _react.memo)(function (_ref) {
49
48
  });
50
49
  Code.propTypes = {
51
50
  code: _propTypes["default"].string,
52
- modifier: _propTypes["default"].string,
53
- parserOptions: _propTypes["default"].object
51
+ modifier: _propTypes["default"].string
54
52
  };
55
53
  Code.defaultProps = {
56
54
  code: '',
57
- modifier: '',
58
- parserOptions: {}
55
+ modifier: ''
59
56
  };
60
57
  var _default = (0, _HOC.withTitle)(Code);
61
58
  exports["default"] = _default;
@@ -1 +1 @@
1
- {"version":3,"file":"Code.js","names":["Code","memo","embedCode","code","parserOptions","otherProps","parsedCode","parseHTML","wrappedCode","wrapScriptTags","modifiers","getClassModifiers","CODE","propTypes","PropTypes","string","modifier","object","defaultProps","withTitle"],"sources":["../../../src/components/Code/Code.js"],"sourcesContent":["import React, { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport parseHTML from 'html-react-parser';\nimport Wrapper from '../Wrapper';\nimport { withTitle } from '../../HOC';\nimport { getClassModifiers } from '../../utils';\nimport { CODE } from '../../constants';\nimport { wrapScriptTags } from './helpers';\n\nconst Code = memo(({ code: embedCode, parserOptions, ...otherProps }) => {\n if (!embedCode) return null;\n\n const parsedCode = parseHTML(embedCode, parserOptions);\n const wrappedCode = wrapScriptTags(parsedCode);\n const modifiers = getClassModifiers(CODE, { ...otherProps });\n\n return <Wrapper modifiers={modifiers}>{wrappedCode}</Wrapper>;\n});\n\nCode.propTypes = {\n code: PropTypes.string,\n modifier: PropTypes.string,\n parserOptions: PropTypes.object\n};\n\nCode.defaultProps = {\n code: '',\n modifier: '',\n parserOptions: {}\n};\n\nexport default withTitle(Code);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAA2C;AAAA;AAAA;AAAA;AAAA;AAE3C,IAAMA,IAAI,gBAAG,IAAAC,WAAI,EAAC,gBAAuD;EAAA,IAA9CC,SAAS,QAAfC,IAAI;IAAaC,aAAa,QAAbA,aAAa;IAAKC,UAAU;EAChE,IAAI,CAACH,SAAS,EAAE,OAAO,IAAI;EAE3B,IAAMI,UAAU,GAAG,IAAAC,2BAAS,EAACL,SAAS,EAAEE,aAAa,CAAC;EACtD,IAAMI,WAAW,GAAG,IAAAC,uBAAc,EAACH,UAAU,CAAC;EAC9C,IAAMI,SAAS,GAAG,IAAAC,wBAAiB,EAACC,eAAI,oBAAOP,UAAU,EAAG;EAE5D,oBAAO,gCAAC,mBAAO;IAAC,SAAS,EAAEK;EAAU,GAAEF,WAAW,CAAW;AAC/D,CAAC,CAAC;AAEFR,IAAI,CAACa,SAAS,GAAG;EACfV,IAAI,EAAEW,qBAAS,CAACC,MAAM;EACtBC,QAAQ,EAAEF,qBAAS,CAACC,MAAM;EAC1BX,aAAa,EAAEU,qBAAS,CAACG;AAC3B,CAAC;AAEDjB,IAAI,CAACkB,YAAY,GAAG;EAClBf,IAAI,EAAE,EAAE;EACRa,QAAQ,EAAE,EAAE;EACZZ,aAAa,EAAE,CAAC;AAClB,CAAC;AAAC,eAEa,IAAAe,cAAS,EAACnB,IAAI,CAAC;AAAA"}
1
+ {"version":3,"file":"Code.js","names":["Code","memo","embedCode","code","otherProps","parsedCode","parseHTML","wrappedCode","wrapScriptTags","modifiers","getClassModifiers","CODE","propTypes","PropTypes","string","modifier","defaultProps","withTitle"],"sources":["../../../src/components/Code/Code.js"],"sourcesContent":["import React, { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport parseHTML from 'html-react-parser';\nimport Wrapper from '../Wrapper';\nimport { withTitle } from '../../HOC';\nimport { getClassModifiers } from '../../utils';\nimport { CODE } from '../../constants';\nimport { wrapScriptTags } from './helpers';\n\nconst Code = memo(({ code: embedCode, ...otherProps }) => {\n if (!embedCode) return null;\n\n const parsedCode = parseHTML(embedCode);\n const wrappedCode = wrapScriptTags(parsedCode);\n const modifiers = getClassModifiers(CODE, { ...otherProps });\n\n return <Wrapper modifiers={modifiers}>{wrappedCode}</Wrapper>;\n});\n\nCode.propTypes = {\n code: PropTypes.string,\n modifier: PropTypes.string\n};\n\nCode.defaultProps = {\n code: '',\n modifier: ''\n};\n\nexport default withTitle(Code);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAA2C;AAAA;AAAA;AAAA;AAAA;AAE3C,IAAMA,IAAI,gBAAG,IAAAC,WAAI,EAAC,gBAAwC;EAAA,IAA/BC,SAAS,QAAfC,IAAI;IAAgBC,UAAU;EACjD,IAAI,CAACF,SAAS,EAAE,OAAO,IAAI;EAE3B,IAAMG,UAAU,GAAG,IAAAC,2BAAS,EAACJ,SAAS,CAAC;EACvC,IAAMK,WAAW,GAAG,IAAAC,uBAAc,EAACH,UAAU,CAAC;EAC9C,IAAMI,SAAS,GAAG,IAAAC,wBAAiB,EAACC,eAAI,oBAAOP,UAAU,EAAG;EAE5D,oBAAO,gCAAC,mBAAO;IAAC,SAAS,EAAEK;EAAU,GAAEF,WAAW,CAAW;AAC/D,CAAC,CAAC;AAEFP,IAAI,CAACY,SAAS,GAAG;EACfT,IAAI,EAAEU,qBAAS,CAACC,MAAM;EACtBC,QAAQ,EAAEF,qBAAS,CAACC;AACtB,CAAC;AAEDd,IAAI,CAACgB,YAAY,GAAG;EAClBb,IAAI,EAAE,EAAE;EACRY,QAAQ,EAAE;AACZ,CAAC;AAAC,eAEa,IAAAE,cAAS,EAACjB,IAAI,CAAC;AAAA"}
@@ -30,13 +30,9 @@ function getWrappedScriptTag(child) {
30
30
  function wrapScriptTags(parsedCode) {
31
31
  if (Array.isArray(parsedCode)) {
32
32
  parsedCode.forEach(function (child, index) {
33
- try {
34
- // modify children array as we just want to wrap single components
35
- // eslint-disable-next-line no-param-reassign
36
- parsedCode[index] = getWrappedScriptTag(child);
37
- } catch (_unused) {
38
- // catch read-only element errors
39
- }
33
+ // modify children array as we just want to wrap single components
34
+ // eslint-disable-next-line no-param-reassign
35
+ parsedCode[index] = getWrappedScriptTag(child);
40
36
  });
41
37
  return parsedCode;
42
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"wrap-script-tags.js","names":["getWrappedScriptTag","child","props","children","scriptProps","type","key","React","cloneElement","wrapScriptTags","parsedCode","Array","isArray","forEach","index"],"sources":["../../../../src/components/Code/helpers/wrap-script-tags.js"],"sourcesContent":["import React from 'react';\nimport ScriptTag from '../ScriptTag';\n\nfunction getWrappedScriptTag(child) {\n if (!child) return child;\n\n if (typeof child === 'string') return child;\n\n const { children, ...scriptProps } = child.props;\n if (child.type === 'script') return <ScriptTag {...scriptProps} key={child.key} />;\n\n if (!children) return child;\n\n return React.cloneElement(child, child.props, wrapScriptTags(children));\n}\n\nfunction wrapScriptTags(parsedCode) {\n if (Array.isArray(parsedCode)) {\n parsedCode.forEach((child, index) => {\n try {\n // modify children array as we just want to wrap single components\n // eslint-disable-next-line no-param-reassign\n parsedCode[index] = getWrappedScriptTag(child);\n } catch {\n // catch read-only element errors\n }\n });\n\n return parsedCode;\n }\n\n return getWrappedScriptTag(parsedCode);\n}\n\nexport default wrapScriptTags;\n"],"mappings":";;;;;;;;;;;;;;AAAA;AACA;AAAqC;AAErC,SAASA,mBAAmB,CAACC,KAAK,EAAE;EAClC,IAAI,CAACA,KAAK,EAAE,OAAOA,KAAK;EAExB,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE,OAAOA,KAAK;EAE3C,mBAAqCA,KAAK,CAACC,KAAK;IAAxCC,QAAQ,gBAARA,QAAQ;IAAKC,WAAW;EAChC,IAAIH,KAAK,CAACI,IAAI,KAAK,QAAQ,EAAE,oBAAO,gCAAC,qBAAS,gCAAKD,WAAW;IAAE,GAAG,EAAEH,KAAK,CAACK;EAAI,GAAG;EAElF,IAAI,CAACH,QAAQ,EAAE,OAAOF,KAAK;EAE3B,oBAAOM,iBAAK,CAACC,YAAY,CAACP,KAAK,EAAEA,KAAK,CAACC,KAAK,EAAEO,cAAc,CAACN,QAAQ,CAAC,CAAC;AACzE;AAEA,SAASM,cAAc,CAACC,UAAU,EAAE;EAClC,IAAIC,KAAK,CAACC,OAAO,CAACF,UAAU,CAAC,EAAE;IAC7BA,UAAU,CAACG,OAAO,CAAC,UAACZ,KAAK,EAAEa,KAAK,EAAK;MACnC,IAAI;QACF;QACA;QACAJ,UAAU,CAACI,KAAK,CAAC,GAAGd,mBAAmB,CAACC,KAAK,CAAC;MAChD,CAAC,CAAC,gBAAM;QACN;MAAA;IAEJ,CAAC,CAAC;IAEF,OAAOS,UAAU;EACnB;EAEA,OAAOV,mBAAmB,CAACU,UAAU,CAAC;AACxC;AAAC,eAEcD,cAAc;AAAA"}
1
+ {"version":3,"file":"wrap-script-tags.js","names":["getWrappedScriptTag","child","props","children","scriptProps","type","key","React","cloneElement","wrapScriptTags","parsedCode","Array","isArray","forEach","index"],"sources":["../../../../src/components/Code/helpers/wrap-script-tags.js"],"sourcesContent":["import React from 'react';\nimport ScriptTag from '../ScriptTag';\n\nfunction getWrappedScriptTag(child) {\n if (!child) return child;\n\n if (typeof child === 'string') return child;\n\n const { children, ...scriptProps } = child.props;\n if (child.type === 'script') return <ScriptTag {...scriptProps} key={child.key} />;\n\n if (!children) return child;\n\n return React.cloneElement(child, child.props, wrapScriptTags(children));\n}\n\nfunction wrapScriptTags(parsedCode) {\n if (Array.isArray(parsedCode)) {\n parsedCode.forEach((child, index) => {\n // modify children array as we just want to wrap single components\n // eslint-disable-next-line no-param-reassign\n parsedCode[index] = getWrappedScriptTag(child);\n });\n\n return parsedCode;\n }\n\n return getWrappedScriptTag(parsedCode);\n}\n\nexport default wrapScriptTags;\n"],"mappings":";;;;;;;;;;;;;;AAAA;AACA;AAAqC;AAErC,SAASA,mBAAmB,CAACC,KAAK,EAAE;EAClC,IAAI,CAACA,KAAK,EAAE,OAAOA,KAAK;EAExB,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE,OAAOA,KAAK;EAE3C,mBAAqCA,KAAK,CAACC,KAAK;IAAxCC,QAAQ,gBAARA,QAAQ;IAAKC,WAAW;EAChC,IAAIH,KAAK,CAACI,IAAI,KAAK,QAAQ,EAAE,oBAAO,gCAAC,qBAAS,gCAAKD,WAAW;IAAE,GAAG,EAAEH,KAAK,CAACK;EAAI,GAAG;EAElF,IAAI,CAACH,QAAQ,EAAE,OAAOF,KAAK;EAE3B,oBAAOM,iBAAK,CAACC,YAAY,CAACP,KAAK,EAAEA,KAAK,CAACC,KAAK,EAAEO,cAAc,CAACN,QAAQ,CAAC,CAAC;AACzE;AAEA,SAASM,cAAc,CAACC,UAAU,EAAE;EAClC,IAAIC,KAAK,CAACC,OAAO,CAACF,UAAU,CAAC,EAAE;IAC7BA,UAAU,CAACG,OAAO,CAAC,UAACZ,KAAK,EAAEa,KAAK,EAAK;MACnC;MACA;MACAJ,UAAU,CAACI,KAAK,CAAC,GAAGd,mBAAmB,CAACC,KAAK,CAAC;IAChD,CAAC,CAAC;IAEF,OAAOS,UAAU;EACnB;EAEA,OAAOV,mBAAmB,CAACU,UAAU,CAAC;AACxC;AAAC,eAEcD,cAAc;AAAA"}
@@ -11,16 +11,25 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
11
11
  var _react = _interopRequireDefault(require("react"));
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
  var _ContentGroupTabs = _interopRequireDefault(require("./ContentGroupTabs"));
14
- var _excluded = ["contentType"];
14
+ var _helpers = require("./helpers");
15
+ var _excluded = ["contentType", "children"];
15
16
  var ContentGroup = function ContentGroup(_ref) {
17
+ var _children$props;
16
18
  var contentType = _ref.contentType,
19
+ children = _ref.children,
17
20
  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
21
+ var groupSections = children === null || children === void 0 ? void 0 : (_children$props = children.props) === null || _children$props === void 0 ? void 0 : _children$props.children[1];
22
+ if (!groupSections || !groupSections.length) return '';
23
+ if (contentType !== 'tab' && contentType !== 'sidepanel') return '';
24
+ var sectionsData = (0, _helpers.getSectionsData)(groupSections);
25
+ return /*#__PURE__*/_react["default"].createElement(_ContentGroupTabs["default"], (0, _extends2["default"])({
26
+ contentType: contentType,
27
+ groupSections: groupSections,
28
+ sectionsData: sectionsData
20
29
  }, props));
21
- return '';
22
30
  };
23
31
  ContentGroup.propTypes = {
32
+ children: _propTypes["default"].object.isRequired,
24
33
  contentType: _propTypes["default"].string.isRequired
25
34
  };
26
35
  ContentGroup.defaultProps = {};
@@ -1 +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"}
1
+ {"version":3,"file":"ContentGroup.js","names":["ContentGroup","contentType","children","props","groupSections","length","sectionsData","getSectionsData","propTypes","PropTypes","object","isRequired","string","defaultProps"],"sources":["../../../src/components/ContentGroup/ContentGroup.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ContentGroupTabs from './ContentGroupTabs';\nimport { getSectionsData } from './helpers';\n\nconst ContentGroup = ({ contentType, children, ...props }) => {\n const groupSections = children?.props?.children[1];\n if (!groupSections || !groupSections.length) return '';\n if (contentType !== 'tab' && contentType !== 'sidepanel') return '';\n const sectionsData = getSectionsData(groupSections);\n\n return (\n <ContentGroupTabs\n contentType={contentType}\n groupSections={groupSections}\n sectionsData={sectionsData}\n {...props}\n />\n );\n};\n\nContentGroup.propTypes = {\n children: PropTypes.object.isRequired,\n contentType: PropTypes.string.isRequired\n};\n\nContentGroup.defaultProps = {};\n\nexport default ContentGroup;\n"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;AACA;AAA4C;AAE5C,IAAMA,YAAY,GAAG,SAAfA,YAAY,OAA4C;EAAA;EAAA,IAAtCC,WAAW,QAAXA,WAAW;IAAEC,QAAQ,QAARA,QAAQ;IAAKC,KAAK;EACrD,IAAMC,aAAa,GAAGF,QAAQ,aAARA,QAAQ,0CAARA,QAAQ,CAAEC,KAAK,oDAAf,gBAAiBD,QAAQ,CAAC,CAAC,CAAC;EAClD,IAAI,CAACE,aAAa,IAAI,CAACA,aAAa,CAACC,MAAM,EAAE,OAAO,EAAE;EACtD,IAAIJ,WAAW,KAAK,KAAK,IAAIA,WAAW,KAAK,WAAW,EAAE,OAAO,EAAE;EACnE,IAAMK,YAAY,GAAG,IAAAC,wBAAe,EAACH,aAAa,CAAC;EAEnD,oBACE,gCAAC,4BAAgB;IACf,WAAW,EAAEH,WAAY;IACzB,aAAa,EAAEG,aAAc;IAC7B,YAAY,EAAEE;EAAa,GACvBH,KAAK,EACT;AAEN,CAAC;AAEDH,YAAY,CAACQ,SAAS,GAAG;EACvBN,QAAQ,EAAEO,qBAAS,CAACC,MAAM,CAACC,UAAU;EACrCV,WAAW,EAAEQ,qBAAS,CAACG,MAAM,CAACD;AAChC,CAAC;AAEDX,YAAY,CAACa,YAAY,GAAG,CAAC,CAAC;AAAC,eAEhBb,YAAY;AAAA"}
@@ -13,47 +13,51 @@ Object.defineProperty(exports, "__esModule", {
13
13
  value: true
14
14
  });
15
15
  exports["default"] = void 0;
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
16
17
  require("core-js/modules/es.function.name.js");
18
+ require("core-js/modules/es.array.concat.js");
17
19
  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
20
  var _react = _interopRequireWildcard(require("react"));
21
21
  var _propTypes = _interopRequireDefault(require("prop-types"));
22
- var _excluded = ["name", "contentType", "modifier", "children"];
22
+ var _router = require("next/router");
23
+ var _helpers = require("./helpers");
24
+ var _constants = require("./constants");
23
25
  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
26
  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
27
  var ContentGroupTabs = function ContentGroupTabs(_ref) {
26
- var _children$props;
27
28
  var name = _ref.name,
28
29
  contentType = _ref.contentType,
29
30
  modifier = _ref.modifier,
30
- children = _ref.children,
31
- props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
32
- var _useState = (0, _react.useState)('tab-0'),
31
+ groupSections = _ref.groupSections,
32
+ sectionsData = _ref.sectionsData;
33
+ var router = (0, _router.useRouter)();
34
+ var _useState = (0, _react.useState)((0, _helpers.getActiveTab)(sectionsData, '')),
33
35
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
34
36
  selectedTab = _useState2[0],
35
37
  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 '';
38
+ var asPath = router.asPath;
39
+ var contentClassame = contentType === _constants.TAB ? _constants.TABS : _constants.SIDEPANEL;
40
+ var mainDivClass = "".concat(_constants.CONTENT_GROUP, "-").concat(contentClassame);
41
+ var contentGroupClass = "".concat(_constants.CONTENT_GROUP, "-").concat(contentClassame, "__buttons-wrapper");
42
+ var sectionClass = "".concat(_constants.CONTENT_GROUP, "-").concat(contentClassame, "__content-section");
43
+ (0, _react.useEffect)(function () {
44
+ var activeTab = (0, _helpers.getActiveTab)(sectionsData, asPath);
45
+ if (activeTab !== selectedTab) setSelectedTab(activeTab);
46
+ }, [asPath, sectionsData, selectedTab]);
39
47
  return /*#__PURE__*/_react["default"].createElement("div", {
40
- className: "content-group".concat(contentClassame)
48
+ className: mainDivClass
41
49
  }, /*#__PURE__*/_react["default"].createElement("ul", {
42
- className: "content-group".concat(contentClassame, "__buttons-wrapper"),
50
+ className: contentGroupClass,
43
51
  role: "tablist",
44
52
  "aria-label": name
45
53
  }, 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);
54
+ var _sectionsData$index = (0, _slicedToArray2["default"])(sectionsData[index], 2),
55
+ sectionName = _sectionsData$index[0],
56
+ sectioLabel = _sectionsData$index[1];
57
+ var tabId = "".concat(_constants.TAB, "-").concat(sectionName);
58
+ var panelId = "".concat(_constants.PANEL, "-").concat(sectionName);
55
59
  var isSelected = selectedTab === tabId;
56
- var buttonClassName = isSelected ? "content-group".concat(contentClassame, "__button--is-active") : "content-group".concat(contentClassame, "__button");
60
+ var buttonClassName = "".concat(_constants.CONTENT_GROUP, "-").concat(contentClassame, "__button").concat(isSelected ? '--is-active' : '');
57
61
  return /*#__PURE__*/_react["default"].createElement("button", {
58
62
  id: tabId,
59
63
  key: tabId,
@@ -63,17 +67,25 @@ var ContentGroupTabs = function ContentGroupTabs(_ref) {
63
67
  "aria-selected": isSelected,
64
68
  "aria-controls": panelId,
65
69
  onClick: function onClick() {
66
- return setSelectedTab(tabId);
70
+ var baseUrl = asPath.split('#')[0];
71
+ var newUrl = "".concat(baseUrl, "#").concat(sectionName);
72
+ if (asPath === newUrl) return;
73
+ router.push("/Resolver", newUrl, {
74
+ shallow: true
75
+ });
76
+ setSelectedTab(tabId);
67
77
  }
68
- }, sectionLabel);
78
+ }, sectioLabel);
69
79
  })), groupSections.map(function (groupSection, index) {
70
- var tabId = "tab-".concat(index);
71
- var panelId = "panel-".concat(index);
80
+ var _sectionsData$index2 = (0, _slicedToArray2["default"])(sectionsData[index], 1),
81
+ sectionName = _sectionsData$index2[0];
82
+ var tabId = "".concat(_constants.TAB, "-").concat(sectionName);
83
+ var panelId = "".concat(_constants.PANEL, "-").concat(sectionName);
72
84
  if (selectedTab !== tabId) return null;
73
85
  return /*#__PURE__*/_react["default"].createElement("div", {
74
- id: panelId,
86
+ id: sectionName,
75
87
  key: panelId,
76
- className: "content-group".concat(contentClassame, "__content-section"),
88
+ className: sectionClass,
77
89
  role: "tabpanel",
78
90
  "aria-labelledby": tabId
79
91
  }, groupSection);
@@ -83,11 +95,11 @@ ContentGroupTabs.propTypes = {
83
95
  name: _propTypes["default"].string.isRequired,
84
96
  contentType: _propTypes["default"].string.isRequired,
85
97
  modifier: _propTypes["default"].string,
86
- children: _propTypes["default"].object
98
+ groupSections: _propTypes["default"].array.isRequired,
99
+ sectionsData: _propTypes["default"].array.isRequired
87
100
  };
88
101
  ContentGroupTabs.defaultProps = {
89
- modifier: '',
90
- children: {}
102
+ modifier: ''
91
103
  };
92
104
  var _default = ContentGroupTabs;
93
105
  exports["default"] = _default;