@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.
- package/CHANGELOG.md +7 -10
- package/README.md +0 -4
- package/lib/components/Banner/BannerRender.js +5 -5
- package/lib/components/Banner/BannerRender.js.map +1 -1
- package/lib/components/Banner/helpers.js +2 -2
- package/lib/components/Banner/helpers.js.map +1 -1
- package/lib/components/Card/CardContainer.js +3 -3
- package/lib/components/Card/CardContainer.js.map +1 -1
- package/lib/components/Code/Code.js +4 -7
- package/lib/components/Code/Code.js.map +1 -1
- package/lib/components/Code/helpers/wrap-script-tags.js +3 -7
- package/lib/components/Code/helpers/wrap-script-tags.js.map +1 -1
- package/lib/components/ContentGroup/ContentGroup.js +13 -4
- package/lib/components/ContentGroup/ContentGroup.js.map +1 -1
- package/lib/components/ContentGroup/ContentGroupTabs.js +43 -31
- package/lib/components/ContentGroup/ContentGroupTabs.js.map +1 -1
- package/lib/components/ContentGroup/constants.js +18 -0
- package/lib/components/ContentGroup/constants.js.map +1 -0
- package/lib/components/ContentGroup/helpers/get-active-tab.js +23 -0
- package/lib/components/ContentGroup/helpers/get-active-tab.js.map +1 -0
- package/lib/components/ContentGroup/helpers/get-sections-data.js +25 -0
- package/lib/components/ContentGroup/helpers/get-sections-data.js.map +1 -0
- package/lib/components/ContentGroup/helpers/index.js +22 -0
- package/lib/components/ContentGroup/helpers/index.js.map +1 -0
- package/lib/components/ContentGroupSection/ContentGroupSection.js +4 -1
- package/lib/components/ContentGroupSection/ContentGroupSection.js.map +1 -1
- package/lib/components/List/components/Cards/CardsRenderItem.js +1 -1
- package/lib/components/List/components/Cards/CardsRenderItem.js.map +1 -1
- package/lib/components/List/components/Full/FullRenderItem.js +1 -1
- package/lib/components/List/components/Full/FullRenderItem.js.map +1 -1
- package/lib/components/Video/providers/YouTube/YoutubeEmbeded.js +5 -1
- package/lib/components/Video/providers/YouTube/YoutubeEmbeded.js.map +1 -1
- package/lib-es/components/Banner/BannerRender.js +5 -5
- package/lib-es/components/Banner/BannerRender.js.map +1 -1
- package/lib-es/components/Banner/helpers.js +2 -2
- package/lib-es/components/Banner/helpers.js.map +1 -1
- package/lib-es/components/Card/CardContainer.js +3 -3
- package/lib-es/components/Card/CardContainer.js.map +1 -1
- package/lib-es/components/Code/Code.js +5 -8
- package/lib-es/components/Code/Code.js.map +1 -1
- package/lib-es/components/Code/helpers/wrap-script-tags.js +3 -7
- package/lib-es/components/Code/helpers/wrap-script-tags.js.map +1 -1
- package/lib-es/components/ContentGroup/ContentGroup.js +14 -5
- package/lib-es/components/ContentGroup/ContentGroup.js.map +1 -1
- package/lib-es/components/ContentGroup/ContentGroupTabs.js +48 -39
- package/lib-es/components/ContentGroup/ContentGroupTabs.js.map +1 -1
- package/lib-es/components/ContentGroup/constants.js +7 -0
- package/lib-es/components/ContentGroup/constants.js.map +1 -0
- package/lib-es/components/ContentGroup/helpers/get-active-tab.js +10 -0
- package/lib-es/components/ContentGroup/helpers/get-active-tab.js.map +1 -0
- package/lib-es/components/ContentGroup/helpers/get-sections-data.js +15 -0
- package/lib-es/components/ContentGroup/helpers/get-sections-data.js.map +1 -0
- package/lib-es/components/ContentGroup/helpers/index.js +4 -0
- package/lib-es/components/ContentGroup/helpers/index.js.map +1 -0
- package/lib-es/components/ContentGroupSection/ContentGroupSection.js +4 -2
- package/lib-es/components/ContentGroupSection/ContentGroupSection.js.map +1 -1
- package/lib-es/components/List/components/Cards/CardsRenderItem.js +1 -1
- package/lib-es/components/List/components/Cards/CardsRenderItem.js.map +1 -1
- package/lib-es/components/List/components/Full/FullRenderItem.js +1 -1
- package/lib-es/components/List/components/Full/FullRenderItem.js.map +1 -1
- package/lib-es/components/Video/providers/YouTube/YoutubeEmbeded.js +5 -1
- package/lib-es/components/Video/providers/YouTube/YoutubeEmbeded.js.map +1 -1
- package/package.json +3 -3
- package/src/components/Banner/BannerRender.js +4 -4
- package/src/components/Banner/helpers.js +3 -3
- package/src/components/Card/CardContainer.js +3 -3
- package/src/components/Code/Code.js +4 -6
- package/src/components/Code/helpers/wrap-script-tags.js +3 -7
- package/src/components/ContentGroup/ContentGroup.js +16 -4
- package/src/components/ContentGroup/ContentGroupTabs.js +44 -28
- package/src/components/ContentGroup/constants.js +7 -0
- package/src/components/ContentGroup/helpers/get-active-tab.js +11 -0
- package/src/components/ContentGroup/helpers/get-sections-data.js +7 -0
- package/src/components/ContentGroup/helpers/index.js +4 -0
- package/src/components/ContentGroupSection/ContentGroupSection.js +6 -2
- package/src/components/List/components/Cards/CardsRenderItem.js +1 -1
- package/src/components/List/components/Full/FullRenderItem.js +1 -1
- package/src/components/Video/providers/YouTube/YoutubeEmbeded.js +5 -1
- package/tests/unit/src/components/Banner/BannerRender.test.js +1 -1
- package/tests/unit/src/components/ContentGroup/ContentGroupTabs.test.js +14 -1
- package/tests/unit/src/components/ContentGroup/__snapshots__/ContentGroupTabs.test.js.snap +88 -2
- package/tests/unit/src/components/ContentGroup/helpers/get-active-tab.test.js +19 -0
- 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
|
|
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-
|
|
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
|
-
*
|
|
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-
|
|
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)) ([
|
|
34
|
-
* vimeo player lazy loading ([#3723](https://github.com/thebyte9/blaze/issues/3723)) ([
|
|
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", "
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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","
|
|
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,
|
|
57
|
+
var setCustomTargetings = function setCustomTargetings(targetings, cardBannerIndex) {
|
|
58
58
|
var bannerTargetings = {};
|
|
59
|
-
var updatedTargetings =
|
|
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
|
|
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)
|
|
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
|
-
|
|
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","
|
|
1
|
+
{"version":3,"file":"CardContainer.js","names":["CardContainer","cardData","gridModifier","style","displayCategory","displayThumbnail","displayTitle","modifier","entity","propsToDisplay","gtmChildren","cardChildren","name","designConfig","itemsPerRow","enableCarousel","bannerModifier","priorityLimit","enableAutoScroll","enableOverlay","autoScrollTimer","overlayModifier","titleOverlayModifier","cardProps","entities","getEntitiesWithBanner","useContext","MainContext","itemId","propsToDisplayModifiers","getPropsToDisplayModifiers","dynamicWrapperSizes","getDynamicGridClasses","cardBannerIndex","CardWrapper","CarouselWrapper","Wrapper","map","index","baseAdunit","id","entityProps","extraProps","parsePropsToDisplay","dynamicKey","join","priority","propTypes","PropTypes","array","isRequired","string","oneOfType","arrayOf","node","bool","object","number","defaultProps","withTitle"],"sources":["../../../src/components/Card/CardContainer.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { withTitle } from '../../HOC';\nimport Banner from '../Banner';\nimport Wrapper from '../Wrapper';\nimport CarouselWrapper from '../CarouselWrapper';\nimport Card from './Card';\nimport { getDynamicGridClasses } from './helpers';\nimport { getEntitiesWithBanner, parsePropsToDisplay } from '../../helpers';\nimport { getPropsToDisplayModifiers } from '../../utils';\n\nconst CardContainer = ({\n cardData,\n gridModifier,\n style,\n displayCategory,\n displayThumbnail,\n displayTitle,\n modifier,\n entity,\n propsToDisplay,\n gtmChildren,\n cardChildren,\n name,\n designConfig,\n itemsPerRow,\n enableCarousel,\n bannerModifier,\n priorityLimit,\n enableAutoScroll,\n enableOverlay,\n autoScrollTimer,\n overlayModifier,\n titleOverlayModifier,\n ...cardProps\n}) => {\n const entities = getEntitiesWithBanner(cardData, cardProps);\n const { itemId } = useContext(MainContext);\n const propsToDisplayModifiers = getPropsToDisplayModifiers(propsToDisplay);\n const dynamicWrapperSizes = enableCarousel\n ? ''\n : getDynamicGridClasses('grid', itemsPerRow, designConfig);\n let cardBannerIndex = 0;\n const CardWrapper = enableCarousel ? CarouselWrapper : Wrapper;\n\n return (\n <CardWrapper\n className={dynamicWrapperSizes}\n modifiers={gridModifier}\n itemsPerRow={itemsPerRow}\n bannerModifier={bannerModifier}\n enableAutoScroll={enableAutoScroll}\n autoScrollTimer={autoScrollTimer}>\n {entities.map(({ baseAdunit, id, ...entityProps }, index) => {\n const extraProps = parsePropsToDisplay(entityProps, propsToDisplay);\n const dynamicKey = [itemId, index].join('-');\n if (baseAdunit) cardBannerIndex += 1;\n\n const priority = priorityLimit > 0 && index + 1 <= priorityLimit;\n\n return baseAdunit ? (\n <Banner\n key={dynamicKey}\n entity={entity}\n baseAdunit={baseAdunit}\n {...entityProps}\n modifier={modifier}\n cardBannerIndex={cardBannerIndex}\n />\n ) : (\n <Card\n key={id}\n id={id}\n enableCarousel={enableCarousel}\n entity={entity}\n propsToDisplay={propsToDisplay}\n parsedPropsToDisplay={extraProps}\n propsToDisplayModifiers={propsToDisplayModifiers}\n modifier={modifier}\n style={style}\n cardChildren={cardChildren}\n gtmChildren={gtmChildren}\n gtmId={name}\n gridModifier={gridModifier}\n entityProps={entityProps}\n displayCategory={displayCategory}\n displayThumbnail={displayThumbnail}\n displayTitle={displayTitle}\n priority={priority}\n enableOverlay={enableOverlay}\n overlayModifier={overlayModifier}\n titleOverlayModifier={titleOverlayModifier}\n {...entityProps}\n />\n );\n })}\n </CardWrapper>\n );\n};\n\nCardContainer.propTypes = {\n cardData: PropTypes.array.isRequired,\n name: PropTypes.string,\n entity: PropTypes.string.isRequired,\n gridModifier: PropTypes.string,\n gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n propsToDisplay: PropTypes.array,\n displayCategory: PropTypes.bool,\n displayThumbnail: PropTypes.bool,\n displayTitle: PropTypes.bool,\n modifier: PropTypes.string,\n style: PropTypes.string,\n designConfig: PropTypes.object,\n itemsPerRow: PropTypes.number,\n enableCarousel: PropTypes.bool,\n bannerModifier: PropTypes.string,\n priorityLimit: PropTypes.number,\n enableAutoScroll: PropTypes.bool,\n enableOverlay: PropTypes.bool,\n overlayModifier: PropTypes.string,\n titleOverlayModifier: PropTypes.string,\n autoScrollTimer: PropTypes.number\n};\n\nCardContainer.defaultProps = {\n gtmChildren: [],\n cardChildren: [],\n name: '',\n gridModifier: '',\n propsToDisplay: [],\n displayCategory: true,\n displayThumbnail: true,\n displayTitle: true,\n modifier: '',\n style: 'portrait',\n designConfig: {},\n itemsPerRow: 1,\n enableCarousel: false,\n bannerModifier: '',\n priorityLimit: 0,\n enableAutoScroll: false,\n enableOverlay: false,\n autoScrollTimer: 0,\n overlayModifier: '',\n titleOverlayModifier: ''\n};\n\nexport default withTitle(CardContainer);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAyD;EAAA;AAAA;AAAA;AAEzD,IAAMA,aAAa,GAAG,SAAhBA,aAAa,OAwBb;EAAA,IAvBJC,QAAQ,QAARA,QAAQ;IACRC,YAAY,QAAZA,YAAY;IACZC,KAAK,QAALA,KAAK;IACLC,eAAe,QAAfA,eAAe;IACfC,gBAAgB,QAAhBA,gBAAgB;IAChBC,YAAY,QAAZA,YAAY;IACZC,QAAQ,QAARA,QAAQ;IACRC,MAAM,QAANA,MAAM;IACNC,cAAc,QAAdA,cAAc;IACdC,WAAW,QAAXA,WAAW;IACXC,YAAY,QAAZA,YAAY;IACZC,IAAI,QAAJA,IAAI;IACJC,YAAY,QAAZA,YAAY;IACZC,WAAW,QAAXA,WAAW;IACXC,cAAc,QAAdA,cAAc;IACdC,cAAc,QAAdA,cAAc;IACdC,aAAa,QAAbA,aAAa;IACbC,gBAAgB,QAAhBA,gBAAgB;IAChBC,aAAa,QAAbA,aAAa;IACbC,eAAe,QAAfA,eAAe;IACfC,eAAe,QAAfA,eAAe;IACfC,oBAAoB,QAApBA,oBAAoB;IACjBC,SAAS;EAEZ,IAAMC,QAAQ,GAAG,IAAAC,+BAAqB,EAACxB,QAAQ,EAAEsB,SAAS,CAAC;EAC3D,kBAAmB,IAAAG,iBAAU,EAACC,6BAAW,CAAC;IAAlCC,MAAM,eAANA,MAAM;EACd,IAAMC,uBAAuB,GAAG,IAAAC,iCAA0B,EAACrB,cAAc,CAAC;EAC1E,IAAMsB,mBAAmB,GAAGhB,cAAc,GACtC,EAAE,GACF,IAAAiB,8BAAqB,EAAC,MAAM,EAAElB,WAAW,EAAED,YAAY,CAAC;EAC5D,IAAIoB,eAAe,GAAG,CAAC;EACvB,IAAMC,WAAW,GAAGnB,cAAc,GAAGoB,2BAAe,GAAGC,mBAAO;EAE9D,oBACE,gCAAC,WAAW;IACV,SAAS,EAAEL,mBAAoB;IAC/B,SAAS,EAAE7B,YAAa;IACxB,WAAW,EAAEY,WAAY;IACzB,cAAc,EAAEE,cAAe;IAC/B,gBAAgB,EAAEE,gBAAiB;IACnC,eAAe,EAAEE;EAAgB,GAChCI,QAAQ,CAACa,GAAG,CAAC,iBAAqCC,KAAK,EAAK;IAAA,IAA5CC,UAAU,SAAVA,UAAU;MAAEC,EAAE,SAAFA,EAAE;MAAKC,WAAW;IAC7C,IAAMC,UAAU,GAAG,IAAAC,6BAAmB,EAACF,WAAW,EAAEhC,cAAc,CAAC;IACnE,IAAMmC,UAAU,GAAG,CAAChB,MAAM,EAAEU,KAAK,CAAC,CAACO,IAAI,CAAC,GAAG,CAAC;IAC5C,IAAIN,UAAU,EAAEN,eAAe,IAAI,CAAC;IAEpC,IAAMa,QAAQ,GAAG7B,aAAa,GAAG,CAAC,IAAIqB,KAAK,GAAG,CAAC,IAAIrB,aAAa;IAEhE,OAAOsB,UAAU,gBACf,gCAAC,kBAAM;MACL,GAAG,EAAEK,UAAW;MAChB,MAAM,EAAEpC,MAAO;MACf,UAAU,EAAE+B;IAAW,GACnBE,WAAW;MACf,QAAQ,EAAElC,QAAS;MACnB,eAAe,EAAE0B;IAAgB,GACjC,gBAEF,gCAAC,gBAAI;MACH,GAAG,EAAEO,EAAG;MACR,EAAE,EAAEA,EAAG;MACP,cAAc,EAAEzB,cAAe;MAC/B,MAAM,EAAEP,MAAO;MACf,cAAc,EAAEC,cAAe;MAC/B,oBAAoB,EAAEiC,UAAW;MACjC,uBAAuB,EAAEb,uBAAwB;MACjD,QAAQ,EAAEtB,QAAS;MACnB,KAAK,EAAEJ,KAAM;MACb,YAAY,EAAEQ,YAAa;MAC3B,WAAW,EAAED,WAAY;MACzB,KAAK,EAAEE,IAAK;MACZ,YAAY,EAAEV,YAAa;MAC3B,WAAW,EAAEuC,WAAY;MACzB,eAAe,EAAErC,eAAgB;MACjC,gBAAgB,EAAEC,gBAAiB;MACnC,YAAY,EAAEC,YAAa;MAC3B,QAAQ,EAAEwC,QAAS;MACnB,aAAa,EAAE3B,aAAc;MAC7B,eAAe,EAAEE,eAAgB;MACjC,oBAAoB,EAAEC;IAAqB,GACvCmB,WAAW,EAElB;EACH,CAAC,CAAC,CACU;AAElB,CAAC;AAEDzC,aAAa,CAAC+C,SAAS,GAAG;EACxB9C,QAAQ,EAAE+C,qBAAS,CAACC,KAAK,CAACC,UAAU;EACpCtC,IAAI,EAAEoC,qBAAS,CAACG,MAAM;EACtB3C,MAAM,EAAEwC,qBAAS,CAACG,MAAM,CAACD,UAAU;EACnChD,YAAY,EAAE8C,qBAAS,CAACG,MAAM;EAC9BzC,WAAW,EAAEsC,qBAAS,CAACI,SAAS,CAAC,CAACJ,qBAAS,CAACK,OAAO,CAACL,qBAAS,CAACM,IAAI,CAAC,EAAEN,qBAAS,CAACM,IAAI,CAAC,CAAC;EACrF3C,YAAY,EAAEqC,qBAAS,CAACI,SAAS,CAAC,CAACJ,qBAAS,CAACK,OAAO,CAACL,qBAAS,CAACM,IAAI,CAAC,EAAEN,qBAAS,CAACM,IAAI,CAAC,CAAC;EACtF7C,cAAc,EAAEuC,qBAAS,CAACC,KAAK;EAC/B7C,eAAe,EAAE4C,qBAAS,CAACO,IAAI;EAC/BlD,gBAAgB,EAAE2C,qBAAS,CAACO,IAAI;EAChCjD,YAAY,EAAE0C,qBAAS,CAACO,IAAI;EAC5BhD,QAAQ,EAAEyC,qBAAS,CAACG,MAAM;EAC1BhD,KAAK,EAAE6C,qBAAS,CAACG,MAAM;EACvBtC,YAAY,EAAEmC,qBAAS,CAACQ,MAAM;EAC9B1C,WAAW,EAAEkC,qBAAS,CAACS,MAAM;EAC7B1C,cAAc,EAAEiC,qBAAS,CAACO,IAAI;EAC9BvC,cAAc,EAAEgC,qBAAS,CAACG,MAAM;EAChClC,aAAa,EAAE+B,qBAAS,CAACS,MAAM;EAC/BvC,gBAAgB,EAAE8B,qBAAS,CAACO,IAAI;EAChCpC,aAAa,EAAE6B,qBAAS,CAACO,IAAI;EAC7BlC,eAAe,EAAE2B,qBAAS,CAACG,MAAM;EACjC7B,oBAAoB,EAAE0B,qBAAS,CAACG,MAAM;EACtC/B,eAAe,EAAE4B,qBAAS,CAACS;AAC7B,CAAC;AAEDzD,aAAa,CAAC0D,YAAY,GAAG;EAC3BhD,WAAW,EAAE,EAAE;EACfC,YAAY,EAAE,EAAE;EAChBC,IAAI,EAAE,EAAE;EACRV,YAAY,EAAE,EAAE;EAChBO,cAAc,EAAE,EAAE;EAClBL,eAAe,EAAE,IAAI;EACrBC,gBAAgB,EAAE,IAAI;EACtBC,YAAY,EAAE,IAAI;EAClBC,QAAQ,EAAE,EAAE;EACZJ,KAAK,EAAE,UAAU;EACjBU,YAAY,EAAE,CAAC,CAAC;EAChBC,WAAW,EAAE,CAAC;EACdC,cAAc,EAAE,KAAK;EACrBC,cAAc,EAAE,EAAE;EAClBC,aAAa,EAAE,CAAC;EAChBC,gBAAgB,EAAE,KAAK;EACvBC,aAAa,EAAE,KAAK;EACpBC,eAAe,EAAE,CAAC;EAClBC,eAAe,EAAE,EAAE;EACnBC,oBAAoB,EAAE;AACxB,CAAC;AAAC,eAEa,IAAAqC,cAAS,EAAC3D,aAAa,CAAC;AAAA"}
|
|
@@ -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"
|
|
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
|
|
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","
|
|
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
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
19
|
-
|
|
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","
|
|
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
|
|
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
|
-
|
|
31
|
-
|
|
32
|
-
var
|
|
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
|
|
37
|
-
var contentClassame = contentType ===
|
|
38
|
-
|
|
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:
|
|
48
|
+
className: mainDivClass
|
|
41
49
|
}, /*#__PURE__*/_react["default"].createElement("ul", {
|
|
42
|
-
className:
|
|
50
|
+
className: contentGroupClass,
|
|
43
51
|
role: "tablist",
|
|
44
52
|
"aria-label": name
|
|
45
53
|
}, groupSections.map(function (groupSection, index) {
|
|
46
|
-
var
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
var
|
|
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 =
|
|
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
|
-
|
|
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
|
-
},
|
|
78
|
+
}, sectioLabel);
|
|
69
79
|
})), groupSections.map(function (groupSection, index) {
|
|
70
|
-
var
|
|
71
|
-
|
|
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:
|
|
86
|
+
id: sectionName,
|
|
75
87
|
key: panelId,
|
|
76
|
-
className:
|
|
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
|
-
|
|
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;
|