@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentGroupTabs.js","names":["ContentGroupTabs","name","contentType","modifier","
|
|
1
|
+
{"version":3,"file":"ContentGroupTabs.js","names":["ContentGroupTabs","name","contentType","modifier","groupSections","sectionsData","router","useRouter","useState","getActiveTab","selectedTab","setSelectedTab","asPath","contentClassame","TAB","TABS","SIDEPANEL","mainDivClass","CONTENT_GROUP","contentGroupClass","sectionClass","useEffect","activeTab","map","groupSection","index","sectionName","sectioLabel","tabId","panelId","PANEL","isSelected","buttonClassName","baseUrl","split","newUrl","push","shallow","propTypes","PropTypes","string","isRequired","array","defaultProps"],"sources":["../../../src/components/ContentGroup/ContentGroupTabs.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { getActiveTab } from './helpers';\nimport { TAB, TABS, SIDEPANEL, CONTENT_GROUP, PANEL } from './constants';\n\nconst ContentGroupTabs = ({ name, contentType, modifier, groupSections, sectionsData }) => {\n const router = useRouter();\n const [selectedTab, setSelectedTab] = useState(getActiveTab(sectionsData, ''));\n const { asPath } = router;\n const contentClassame = contentType === TAB ? TABS : SIDEPANEL;\n const mainDivClass = `${CONTENT_GROUP}-${contentClassame}`;\n const contentGroupClass = `${CONTENT_GROUP}-${contentClassame}__buttons-wrapper`;\n const sectionClass = `${CONTENT_GROUP}-${contentClassame}__content-section`;\n\n useEffect(\n () => {\n const activeTab = getActiveTab(sectionsData, asPath);\n if (activeTab !== selectedTab) setSelectedTab(activeTab);\n },\n [asPath, sectionsData, selectedTab]\n );\n\n return (\n <div className={mainDivClass}>\n <ul className={contentGroupClass} role=\"tablist\" aria-label={name}>\n {groupSections.map((groupSection, index) => {\n const [sectionName, sectioLabel] = sectionsData[index];\n const tabId = `${TAB}-${sectionName}`;\n const panelId = `${PANEL}-${sectionName}`;\n const isSelected = selectedTab === tabId;\n const buttonClassName = `${CONTENT_GROUP}-${contentClassame}__button${\n isSelected ? '--is-active' : ''\n }`;\n\n return (\n <button\n id={tabId}\n key={tabId}\n className={buttonClassName}\n type=\"button\"\n role=\"tab\"\n aria-selected={isSelected}\n aria-controls={panelId}\n onClick={() => {\n const baseUrl = asPath.split('#')[0];\n const newUrl = `${baseUrl}#${sectionName}`;\n if (asPath === newUrl) return;\n router.push(`/Resolver`, newUrl, { shallow: true });\n setSelectedTab(tabId);\n }}>\n {sectioLabel}\n </button>\n );\n })}\n </ul>\n {groupSections.map((groupSection, index) => {\n const [sectionName] = sectionsData[index];\n const tabId = `${TAB}-${sectionName}`;\n const panelId = `${PANEL}-${sectionName}`;\n if (selectedTab !== tabId) return null;\n\n return (\n <div\n id={sectionName}\n key={panelId}\n className={sectionClass}\n role=\"tabpanel\"\n aria-labelledby={tabId}>\n {groupSection}\n </div>\n );\n })}\n </div>\n );\n};\n\nContentGroupTabs.propTypes = {\n name: PropTypes.string.isRequired,\n contentType: PropTypes.string.isRequired,\n modifier: PropTypes.string,\n groupSections: PropTypes.array.isRequired,\n sectionsData: PropTypes.array.isRequired\n};\n\nContentGroupTabs.defaultProps = {\n modifier: ''\n};\n\nexport default ContentGroupTabs;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AAAyE;AAAA;AAEzE,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAgB,OAAqE;EAAA,IAA/DC,IAAI,QAAJA,IAAI;IAAEC,WAAW,QAAXA,WAAW;IAAEC,QAAQ,QAARA,QAAQ;IAAEC,aAAa,QAAbA,aAAa;IAAEC,YAAY,QAAZA,YAAY;EAClF,IAAMC,MAAM,GAAG,IAAAC,iBAAS,GAAE;EAC1B,gBAAsC,IAAAC,eAAQ,EAAC,IAAAC,qBAAY,EAACJ,YAAY,EAAE,EAAE,CAAC,CAAC;IAAA;IAAvEK,WAAW;IAAEC,cAAc;EAClC,IAAQC,MAAM,GAAKN,MAAM,CAAjBM,MAAM;EACd,IAAMC,eAAe,GAAGX,WAAW,KAAKY,cAAG,GAAGC,eAAI,GAAGC,oBAAS;EAC9D,IAAMC,YAAY,aAAMC,wBAAa,cAAIL,eAAe,CAAE;EAC1D,IAAMM,iBAAiB,aAAMD,wBAAa,cAAIL,eAAe,sBAAmB;EAChF,IAAMO,YAAY,aAAMF,wBAAa,cAAIL,eAAe,sBAAmB;EAE3E,IAAAQ,gBAAS,EACP,YAAM;IACJ,IAAMC,SAAS,GAAG,IAAAb,qBAAY,EAACJ,YAAY,EAAEO,MAAM,CAAC;IACpD,IAAIU,SAAS,KAAKZ,WAAW,EAAEC,cAAc,CAACW,SAAS,CAAC;EAC1D,CAAC,EACD,CAACV,MAAM,EAAEP,YAAY,EAAEK,WAAW,CAAC,CACpC;EAED,oBACE;IAAK,SAAS,EAAEO;EAAa,gBAC3B;IAAI,SAAS,EAAEE,iBAAkB;IAAC,IAAI,EAAC,SAAS;IAAC,cAAYlB;EAAK,GAC/DG,aAAa,CAACmB,GAAG,CAAC,UAACC,YAAY,EAAEC,KAAK,EAAK;IAC1C,0DAAmCpB,YAAY,CAACoB,KAAK,CAAC;MAA/CC,WAAW;MAAEC,WAAW;IAC/B,IAAMC,KAAK,aAAMd,cAAG,cAAIY,WAAW,CAAE;IACrC,IAAMG,OAAO,aAAMC,gBAAK,cAAIJ,WAAW,CAAE;IACzC,IAAMK,UAAU,GAAGrB,WAAW,KAAKkB,KAAK;IACxC,IAAMI,eAAe,aAAMd,wBAAa,cAAIL,eAAe,qBACzDkB,UAAU,GAAG,aAAa,GAAG,EAAE,CAC/B;IAEF,oBACE;MACE,EAAE,EAAEH,KAAM;MACV,GAAG,EAAEA,KAAM;MACX,SAAS,EAAEI,eAAgB;MAC3B,IAAI,EAAC,QAAQ;MACb,IAAI,EAAC,KAAK;MACV,iBAAeD,UAAW;MAC1B,iBAAeF,OAAQ;MACvB,OAAO,EAAE,mBAAM;QACb,IAAMI,OAAO,GAAGrB,MAAM,CAACsB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACpC,IAAMC,MAAM,aAAMF,OAAO,cAAIP,WAAW,CAAE;QAC1C,IAAId,MAAM,KAAKuB,MAAM,EAAE;QACvB7B,MAAM,CAAC8B,IAAI,cAAcD,MAAM,EAAE;UAAEE,OAAO,EAAE;QAAK,CAAC,CAAC;QACnD1B,cAAc,CAACiB,KAAK,CAAC;MACvB;IAAE,GACDD,WAAW,CACL;EAEb,CAAC,CAAC,CACC,EACJvB,aAAa,CAACmB,GAAG,CAAC,UAACC,YAAY,EAAEC,KAAK,EAAK;IAC1C,2DAAsBpB,YAAY,CAACoB,KAAK,CAAC;MAAlCC,WAAW;IAClB,IAAME,KAAK,aAAMd,cAAG,cAAIY,WAAW,CAAE;IACrC,IAAMG,OAAO,aAAMC,gBAAK,cAAIJ,WAAW,CAAE;IACzC,IAAIhB,WAAW,KAAKkB,KAAK,EAAE,OAAO,IAAI;IAEtC,oBACE;MACE,EAAE,EAAEF,WAAY;MAChB,GAAG,EAAEG,OAAQ;MACb,SAAS,EAAET,YAAa;MACxB,IAAI,EAAC,UAAU;MACf,mBAAiBQ;IAAM,GACtBJ,YAAY,CACT;EAEV,CAAC,CAAC,CACE;AAEV,CAAC;AAEDxB,gBAAgB,CAACsC,SAAS,GAAG;EAC3BrC,IAAI,EAAEsC,qBAAS,CAACC,MAAM,CAACC,UAAU;EACjCvC,WAAW,EAAEqC,qBAAS,CAACC,MAAM,CAACC,UAAU;EACxCtC,QAAQ,EAAEoC,qBAAS,CAACC,MAAM;EAC1BpC,aAAa,EAAEmC,qBAAS,CAACG,KAAK,CAACD,UAAU;EACzCpC,YAAY,EAAEkC,qBAAS,CAACG,KAAK,CAACD;AAChC,CAAC;AAEDzC,gBAAgB,CAAC2C,YAAY,GAAG;EAC9BxC,QAAQ,EAAE;AACZ,CAAC;AAAC,eAEaH,gBAAgB;AAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.object.define-property.js");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.TABS = exports.TAB = exports.SIDEPANEL = exports.PANEL = exports.CONTENT_GROUP = void 0;
|
|
8
|
+
var TAB = 'tab';
|
|
9
|
+
exports.TAB = TAB;
|
|
10
|
+
var TABS = 'tabs';
|
|
11
|
+
exports.TABS = TABS;
|
|
12
|
+
var SIDEPANEL = 'sidepanel';
|
|
13
|
+
exports.SIDEPANEL = SIDEPANEL;
|
|
14
|
+
var CONTENT_GROUP = 'content-group';
|
|
15
|
+
exports.CONTENT_GROUP = CONTENT_GROUP;
|
|
16
|
+
var PANEL = 'panel';
|
|
17
|
+
exports.PANEL = PANEL;
|
|
18
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","names":["TAB","TABS","SIDEPANEL","CONTENT_GROUP","PANEL"],"sources":["../../../src/components/ContentGroup/constants.js"],"sourcesContent":["const TAB = 'tab';\nconst TABS = 'tabs';\nconst SIDEPANEL = 'sidepanel';\nconst CONTENT_GROUP = 'content-group';\nconst PANEL = 'panel';\n\nexport { TAB, TABS, SIDEPANEL, CONTENT_GROUP, PANEL };\n"],"mappings":";;;;;;;AAAA,IAAMA,GAAG,GAAG,KAAK;AAAC;AAClB,IAAMC,IAAI,GAAG,MAAM;AAAC;AACpB,IAAMC,SAAS,GAAG,WAAW;AAAC;AAC9B,IAAMC,aAAa,GAAG,eAAe;AAAC;AACtC,IAAMC,KAAK,GAAG,OAAO;AAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.object.define-property.js");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
require("core-js/modules/es.array.find.js");
|
|
9
|
+
require("core-js/modules/es.object.to-string.js");
|
|
10
|
+
require("core-js/modules/es.array.concat.js");
|
|
11
|
+
var _constants = require("../constants");
|
|
12
|
+
var getActiveTab = function getActiveTab(sections, url) {
|
|
13
|
+
var decodedUrl = decodeURI(url);
|
|
14
|
+
var activeTabName = decodedUrl.split('#')[1];
|
|
15
|
+
var isUrlTabValid = !!sections.find(function (section) {
|
|
16
|
+
return section[0] === activeTabName;
|
|
17
|
+
});
|
|
18
|
+
var tabToUse = isUrlTabValid && activeTabName || sections[0][0];
|
|
19
|
+
return "".concat(_constants.TAB, "-").concat(tabToUse);
|
|
20
|
+
};
|
|
21
|
+
var _default = getActiveTab;
|
|
22
|
+
exports["default"] = _default;
|
|
23
|
+
//# sourceMappingURL=get-active-tab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-active-tab.js","names":["getActiveTab","sections","url","decodedUrl","decodeURI","activeTabName","split","isUrlTabValid","find","section","tabToUse","TAB"],"sources":["../../../../src/components/ContentGroup/helpers/get-active-tab.js"],"sourcesContent":["import { TAB } from '../constants';\n\nconst getActiveTab = (sections, url) => {\n const decodedUrl = decodeURI(url);\n const activeTabName = decodedUrl.split('#')[1];\n const isUrlTabValid = !!sections.find(section => section[0] === activeTabName);\n const tabToUse = (isUrlTabValid && activeTabName) || sections[0][0];\n return `${TAB}-${tabToUse}`;\n};\n\nexport default getActiveTab;\n"],"mappings":";;;;;;;;;;AAAA;AAEA,IAAMA,YAAY,GAAG,SAAfA,YAAY,CAAIC,QAAQ,EAAEC,GAAG,EAAK;EACtC,IAAMC,UAAU,GAAGC,SAAS,CAACF,GAAG,CAAC;EACjC,IAAMG,aAAa,GAAGF,UAAU,CAACG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;EAC9C,IAAMC,aAAa,GAAG,CAAC,CAACN,QAAQ,CAACO,IAAI,CAAC,UAAAC,OAAO;IAAA,OAAIA,OAAO,CAAC,CAAC,CAAC,KAAKJ,aAAa;EAAA,EAAC;EAC9E,IAAMK,QAAQ,GAAIH,aAAa,IAAIF,aAAa,IAAKJ,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EACnE,iBAAUU,cAAG,cAAID,QAAQ;AAC3B,CAAC;AAAC,eAEaV,YAAY;AAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.object.define-property.js");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
require("core-js/modules/es.array.map.js");
|
|
9
|
+
require("core-js/modules/es.function.name.js");
|
|
10
|
+
var getSectionsData = function getSectionsData(sections) {
|
|
11
|
+
return sections.map(function (section) {
|
|
12
|
+
var _section$props = section.props;
|
|
13
|
+
_section$props = _section$props === void 0 ? {} : _section$props;
|
|
14
|
+
var _section$props$compon = _section$props.component;
|
|
15
|
+
_section$props$compon = _section$props$compon === void 0 ? {} : _section$props$compon;
|
|
16
|
+
var _section$props$compon2 = _section$props$compon.settings;
|
|
17
|
+
_section$props$compon2 = _section$props$compon2 === void 0 ? {} : _section$props$compon2;
|
|
18
|
+
var label = _section$props$compon2.label,
|
|
19
|
+
name = _section$props$compon2.name;
|
|
20
|
+
return [name, label];
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
var _default = getSectionsData;
|
|
24
|
+
exports["default"] = _default;
|
|
25
|
+
//# sourceMappingURL=get-sections-data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-sections-data.js","names":["getSectionsData","sections","map","section","props","component","settings","label","name"],"sources":["../../../../src/components/ContentGroup/helpers/get-sections-data.js"],"sourcesContent":["const getSectionsData = sections =>\n sections.map(section => {\n const { props: { component: { settings: { label, name } = {} } = {} } = {} } = section;\n return [name, label];\n });\n\nexport default getSectionsData;\n"],"mappings":";;;;;;;;;AAAA,IAAMA,eAAe,GAAG,SAAlBA,eAAe,CAAGC,QAAQ;EAAA,OAC9BA,QAAQ,CAACC,GAAG,CAAC,UAAAC,OAAO,EAAI;IACtB,qBAA+EA,OAAO,CAA9EC,KAAK;IAAb,6CAAwE,CAAC,CAAC;IAA1E,2CAAiBC,SAAS;IAA1B,2DAAiE,CAAC,CAAC;IAAnE,mDAA8BC,QAAQ;IAAtC,6DAA0D,CAAC,CAAC;IAA5D,IAA0CC,KAAK,0BAALA,KAAK;MAAEC,IAAI,0BAAJA,IAAI;IACrD,OAAO,CAACA,IAAI,EAAED,KAAK,CAAC;EACtB,CAAC,CAAC;AAAA;AAAC,eAEUP,eAAe;AAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.object.define-property.js");
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
Object.defineProperty(exports, "getActiveTab", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function get() {
|
|
11
|
+
return _getActiveTab["default"];
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
Object.defineProperty(exports, "getSectionsData", {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function get() {
|
|
17
|
+
return _getSectionsData["default"];
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
var _getSectionsData = _interopRequireDefault(require("./get-sections-data"));
|
|
21
|
+
var _getActiveTab = _interopRequireDefault(require("./get-active-tab"));
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/ContentGroup/helpers/index.js"],"sourcesContent":["import getSectionsData from './get-sections-data';\nimport getActiveTab from './get-active-tab';\n\nexport { getSectionsData, getActiveTab };\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AACA"}
|
|
@@ -6,16 +6,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports["default"] = void 0;
|
|
9
|
+
require("core-js/modules/es.function.name.js");
|
|
9
10
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
10
11
|
var _react = _interopRequireDefault(require("react"));
|
|
11
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
13
|
var _helpers = require("../../helpers");
|
|
13
|
-
var _excluded = ["children"];
|
|
14
|
+
var _excluded = ["children", "name"];
|
|
14
15
|
var ContentGroupSection = function ContentGroupSection(_ref) {
|
|
15
16
|
var children = _ref.children,
|
|
17
|
+
name = _ref.name,
|
|
16
18
|
props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
|
|
17
19
|
if (!(0, _helpers.hasChildren)(children)) return null;
|
|
18
20
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
21
|
+
key: name,
|
|
19
22
|
className: "content-group-section"
|
|
20
23
|
}, children);
|
|
21
24
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentGroupSection.js","names":["ContentGroupSection","children","props","hasChildren","propTypes","PropTypes","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../src/components/ContentGroupSection/ContentGroupSection.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { hasChildren } from '../../helpers';\n\nconst ContentGroupSection = ({ children, ...props }) => {\n if (!hasChildren(children)) return null;\n\n return <div className=\"content-group-section\"
|
|
1
|
+
{"version":3,"file":"ContentGroupSection.js","names":["ContentGroupSection","children","name","props","hasChildren","propTypes","PropTypes","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../src/components/ContentGroupSection/ContentGroupSection.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { hasChildren } from '../../helpers';\n\nconst ContentGroupSection = ({ children, name, ...props }) => {\n if (!hasChildren(children)) return null;\n\n return (\n <div key={name} className=\"content-group-section\">\n {children}\n </div>\n );\n};\n\nContentGroupSection.propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nContentGroupSection.defaultProps = { children: null };\n\nexport default ContentGroupSection;\n"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;AAA4C;AAE5C,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAmB,OAAqC;EAAA,IAA/BC,QAAQ,QAARA,QAAQ;IAAEC,IAAI,QAAJA,IAAI;IAAKC,KAAK;EACrD,IAAI,CAAC,IAAAC,oBAAW,EAACH,QAAQ,CAAC,EAAE,OAAO,IAAI;EAEvC,oBACE;IAAK,GAAG,EAAEC,IAAK;IAAC,SAAS,EAAC;EAAuB,GAC9CD,QAAQ,CACL;AAEV,CAAC;AAEDD,mBAAmB,CAACK,SAAS,GAAG;EAC9BJ,QAAQ,EAAEK,qBAAS,CAACC,SAAS,CAAC,CAACD,qBAAS,CAACE,OAAO,CAACF,qBAAS,CAACG,IAAI,CAAC,EAAEH,qBAAS,CAACG,IAAI,CAAC;AACnF,CAAC;AAEDT,mBAAmB,CAACU,YAAY,GAAG;EAAET,QAAQ,EAAE;AAAK,CAAC;AAAC,eAEvCD,mBAAmB;AAAA"}
|
|
@@ -87,7 +87,7 @@ var CardsRenderItem = function CardsRenderItem(_ref) {
|
|
|
87
87
|
overlayModifier: overlayModifier,
|
|
88
88
|
titleOverlayModifier: titleOverlayModifier
|
|
89
89
|
}, cardProps))), shouldRenderBanner && /*#__PURE__*/_react["default"].createElement(_Banner["default"], (0, _extends2["default"])({}, bannerProps, {
|
|
90
|
-
|
|
90
|
+
cardBannerIndex: bannerIndex
|
|
91
91
|
})));
|
|
92
92
|
};
|
|
93
93
|
CardsRenderItem.propTypes = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardsRenderItem.js","names":["CardsRenderItem","cardProps","listProps","bannerProps","index","entity","currentListLength","cardChildren","gtmChildren","modifier","gridModifier","propsToDisplayModifiers","propsToDisplay","shouldRenderBanner","bannerIndex","priority","enableOverlay","autoScrollTimer","arrowSize","overlayModifier","titleOverlayModifier","initialOffset","isInfinite","style","name","id","triggerInfiniteScroll","displayCount","displayCategory","displayThumbnail","displayTitle","listTotal","itemsPerPage","currentItemIndex","renderWaypoint","shouldRenderWaypoint","shouldRenderGtm","checkIfShouldRenderGtm","parsedPropsToDisplay","parsePropsToDisplay","renderChildren","propTypes","PropTypes","object","isRequired","number","array","bool","string","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../../../src/components/List/components/Cards/CardsRenderItem.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Waypoint } from 'react-waypoint';\nimport Card from '../../../Card/Card';\nimport { shouldRenderWaypoint, renderChildren, parsePropsToDisplay } from '../../../../helpers';\nimport { checkIfShouldRenderGtm } from '../helpers';\nimport Banner from '../../../Banner';\n\nconst CardsRenderItem = ({\n cardProps,\n listProps,\n bannerProps,\n index,\n entity,\n currentListLength,\n cardChildren,\n gtmChildren,\n modifier,\n gridModifier,\n propsToDisplayModifiers,\n propsToDisplay,\n shouldRenderBanner,\n bannerIndex,\n priority,\n enableOverlay,\n autoScrollTimer,\n arrowSize,\n overlayModifier,\n titleOverlayModifier\n}) => {\n const {\n initialOffset,\n isInfinite,\n style,\n name,\n id,\n triggerInfiniteScroll,\n displayCount,\n displayCategory = true,\n displayThumbnail = true,\n displayTitle = true,\n listTotal,\n itemsPerPage\n } = listProps;\n\n const currentItemIndex = initialOffset + index;\n const renderWaypoint =\n isInfinite && shouldRenderWaypoint(index, currentListLength, currentItemIndex, listTotal);\n const shouldRenderGtm =\n gtmChildren && checkIfShouldRenderGtm(itemsPerPage, currentListLength, index);\n\n const parsedPropsToDisplay = parsePropsToDisplay(cardProps, propsToDisplay);\n\n return (\n <>\n {shouldRenderGtm && renderChildren(gtmChildren)}\n {displayCount && (\n <div className=\"heading heading--section heading--section--count\">\n <span className=\"section-number\">{currentItemIndex + 1}</span>\n <span className=\"section-total\">/{listTotal}</span>\n </div>\n )}\n <div className=\"list__item list__item--compact\">\n {renderWaypoint && <Waypoint onEnter={triggerInfiniteScroll} />}\n <Card\n id={id}\n entity={entity}\n gridModifier={gridModifier}\n propsToDisplay={propsToDisplay}\n parsedPropsToDisplay={parsedPropsToDisplay}\n propsToDisplayModifiers={propsToDisplayModifiers}\n modifier={modifier}\n style={style}\n cardChildren={cardChildren}\n displayCategory={displayCategory}\n displayThumbnail={displayThumbnail}\n displayTitle={displayTitle}\n cardProps={cardProps}\n gtmId={name}\n gtmChildren={gtmChildren}\n priority={priority}\n arrowSize={arrowSize}\n enableOverlay={enableOverlay}\n overlayModifier={overlayModifier}\n titleOverlayModifier={titleOverlayModifier}\n {...cardProps}\n />\n </div>\n {shouldRenderBanner && <Banner {...bannerProps}
|
|
1
|
+
{"version":3,"file":"CardsRenderItem.js","names":["CardsRenderItem","cardProps","listProps","bannerProps","index","entity","currentListLength","cardChildren","gtmChildren","modifier","gridModifier","propsToDisplayModifiers","propsToDisplay","shouldRenderBanner","bannerIndex","priority","enableOverlay","autoScrollTimer","arrowSize","overlayModifier","titleOverlayModifier","initialOffset","isInfinite","style","name","id","triggerInfiniteScroll","displayCount","displayCategory","displayThumbnail","displayTitle","listTotal","itemsPerPage","currentItemIndex","renderWaypoint","shouldRenderWaypoint","shouldRenderGtm","checkIfShouldRenderGtm","parsedPropsToDisplay","parsePropsToDisplay","renderChildren","propTypes","PropTypes","object","isRequired","number","array","bool","string","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../../../src/components/List/components/Cards/CardsRenderItem.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Waypoint } from 'react-waypoint';\nimport Card from '../../../Card/Card';\nimport { shouldRenderWaypoint, renderChildren, parsePropsToDisplay } from '../../../../helpers';\nimport { checkIfShouldRenderGtm } from '../helpers';\nimport Banner from '../../../Banner';\n\nconst CardsRenderItem = ({\n cardProps,\n listProps,\n bannerProps,\n index,\n entity,\n currentListLength,\n cardChildren,\n gtmChildren,\n modifier,\n gridModifier,\n propsToDisplayModifiers,\n propsToDisplay,\n shouldRenderBanner,\n bannerIndex,\n priority,\n enableOverlay,\n autoScrollTimer,\n arrowSize,\n overlayModifier,\n titleOverlayModifier\n}) => {\n const {\n initialOffset,\n isInfinite,\n style,\n name,\n id,\n triggerInfiniteScroll,\n displayCount,\n displayCategory = true,\n displayThumbnail = true,\n displayTitle = true,\n listTotal,\n itemsPerPage\n } = listProps;\n\n const currentItemIndex = initialOffset + index;\n const renderWaypoint =\n isInfinite && shouldRenderWaypoint(index, currentListLength, currentItemIndex, listTotal);\n const shouldRenderGtm =\n gtmChildren && checkIfShouldRenderGtm(itemsPerPage, currentListLength, index);\n\n const parsedPropsToDisplay = parsePropsToDisplay(cardProps, propsToDisplay);\n\n return (\n <>\n {shouldRenderGtm && renderChildren(gtmChildren)}\n {displayCount && (\n <div className=\"heading heading--section heading--section--count\">\n <span className=\"section-number\">{currentItemIndex + 1}</span>\n <span className=\"section-total\">/{listTotal}</span>\n </div>\n )}\n <div className=\"list__item list__item--compact\">\n {renderWaypoint && <Waypoint onEnter={triggerInfiniteScroll} />}\n <Card\n id={id}\n entity={entity}\n gridModifier={gridModifier}\n propsToDisplay={propsToDisplay}\n parsedPropsToDisplay={parsedPropsToDisplay}\n propsToDisplayModifiers={propsToDisplayModifiers}\n modifier={modifier}\n style={style}\n cardChildren={cardChildren}\n displayCategory={displayCategory}\n displayThumbnail={displayThumbnail}\n displayTitle={displayTitle}\n cardProps={cardProps}\n gtmId={name}\n gtmChildren={gtmChildren}\n priority={priority}\n arrowSize={arrowSize}\n enableOverlay={enableOverlay}\n overlayModifier={overlayModifier}\n titleOverlayModifier={titleOverlayModifier}\n {...cardProps}\n />\n </div>\n {shouldRenderBanner && <Banner {...bannerProps} cardBannerIndex={bannerIndex} />}\n </>\n );\n};\n\nCardsRenderItem.propTypes = {\n cardProps: PropTypes.object.isRequired,\n listProps: PropTypes.object.isRequired,\n index: PropTypes.number.isRequired,\n currentListLength: PropTypes.number.isRequired,\n propsToDisplayModifiers: PropTypes.array.isRequired,\n shouldRenderBanner: PropTypes.bool.isRequired,\n bannerIndex: PropTypes.number.isRequired,\n bannerProps: PropTypes.object,\n gridModifier: PropTypes.string,\n propsToDisplay: PropTypes.array,\n entity: PropTypes.string.isRequired,\n modifier: PropTypes.string,\n cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n priority: PropTypes.bool,\n enableOverlay: PropTypes.bool,\n overlayModifier: PropTypes.string,\n titleOverlayModifier: PropTypes.string,\n autoScrollTimer: PropTypes.number,\n arrowSize: PropTypes.string\n};\n\nCardsRenderItem.defaultProps = {\n priority: false,\n bannerProps: null,\n gridModifier: '',\n propsToDisplay: [],\n modifier: '',\n cardChildren: [],\n gtmChildren: [],\n enableOverlay: false,\n autoScrollTimer: 0,\n overlayModifier: '',\n titleOverlayModifier: '',\n arrowSize: ''\n};\n\nexport default CardsRenderItem;\n"],"mappings":"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"}
|
|
@@ -80,7 +80,7 @@ var FullRenderItem = function FullRenderItem(_ref) {
|
|
|
80
80
|
key: prop
|
|
81
81
|
}, prop) : null;
|
|
82
82
|
})), shouldRenderBanner && /*#__PURE__*/_react["default"].createElement(_Banner["default"], (0, _extends2["default"])({}, bannerProps, {
|
|
83
|
-
|
|
83
|
+
cardBannerIndex: bannerIndex
|
|
84
84
|
})));
|
|
85
85
|
};
|
|
86
86
|
FullRenderItem.propTypes = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FullRenderItem.js","names":["FullRenderItem","isInfinite","pageBuilderComponents","entityProps","propsToDisplay","entity","index","itemId","listTotal","initialOffset","currentListLength","triggerInfiniteScroll","parent","pageBuilderID","displayCount","shouldRenderBanner","bannerProps","bannerIndex","useContext","MainContext","hasGTM","parsedPropsToDisplay","parsePropsToDisplay","currentItemIndex","renderWaypoint","shouldRenderWaypoint","BuildPBComponents","itemEntity","length","map","prop","propTypes","PropTypes","array","object","isRequired","number","bool","func","string","data","itemsToDisplay","defaultProps"],"sources":["../../../../../src/components/List/components/Full/FullRenderItem.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { Waypoint } from 'react-waypoint';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport BuildPBComponents from '../../../../hooks/helpers/buildPBComponents';\nimport Banner from '../../../Banner';\nimport { parsePropsToDisplay, shouldRenderWaypoint } from '../../../../helpers';\n\nconst FullRenderItem = ({\n isInfinite,\n pageBuilderComponents,\n entityProps,\n propsToDisplay,\n entity,\n index,\n itemId,\n listTotal,\n initialOffset,\n currentListLength,\n triggerInfiniteScroll,\n parent,\n pageBuilderID,\n displayCount,\n shouldRenderBanner,\n bannerProps,\n bannerIndex\n}) => {\n const { hasGTM } = useContext(MainContext);\n if (!pageBuilderComponents) return null;\n const parsedPropsToDisplay = parsePropsToDisplay(entityProps, propsToDisplay);\n const currentItemIndex = initialOffset + index;\n const renderWaypoint =\n isInfinite && shouldRenderWaypoint(index, currentListLength, currentItemIndex, listTotal);\n return (\n <>\n {renderWaypoint && <Waypoint onEnter={triggerInfiniteScroll} />}\n {displayCount && (\n <div className=\"heading heading--section heading--section--count\">\n <span className=\"section-number\">{currentItemIndex + 1}</span>\n <span className=\"section-total\">/{listTotal}</span>\n </div>\n )}\n <div className=\"list__item list__item--full\">\n {BuildPBComponents(pageBuilderComponents, {\n parent: { ...parent, itemId, itemEntity: entity },\n hasGTM,\n pageBuilderID\n })}\n </div>\n {!!parsedPropsToDisplay.length && (\n <>{parsedPropsToDisplay.map(prop => (prop ? <span key={prop}>{prop}</span> : null))}</>\n )}\n {shouldRenderBanner && <Banner {...bannerProps}
|
|
1
|
+
{"version":3,"file":"FullRenderItem.js","names":["FullRenderItem","isInfinite","pageBuilderComponents","entityProps","propsToDisplay","entity","index","itemId","listTotal","initialOffset","currentListLength","triggerInfiniteScroll","parent","pageBuilderID","displayCount","shouldRenderBanner","bannerProps","bannerIndex","useContext","MainContext","hasGTM","parsedPropsToDisplay","parsePropsToDisplay","currentItemIndex","renderWaypoint","shouldRenderWaypoint","BuildPBComponents","itemEntity","length","map","prop","propTypes","PropTypes","array","object","isRequired","number","bool","func","string","data","itemsToDisplay","defaultProps"],"sources":["../../../../../src/components/List/components/Full/FullRenderItem.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { Waypoint } from 'react-waypoint';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport BuildPBComponents from '../../../../hooks/helpers/buildPBComponents';\nimport Banner from '../../../Banner';\nimport { parsePropsToDisplay, shouldRenderWaypoint } from '../../../../helpers';\n\nconst FullRenderItem = ({\n isInfinite,\n pageBuilderComponents,\n entityProps,\n propsToDisplay,\n entity,\n index,\n itemId,\n listTotal,\n initialOffset,\n currentListLength,\n triggerInfiniteScroll,\n parent,\n pageBuilderID,\n displayCount,\n shouldRenderBanner,\n bannerProps,\n bannerIndex\n}) => {\n const { hasGTM } = useContext(MainContext);\n if (!pageBuilderComponents) return null;\n const parsedPropsToDisplay = parsePropsToDisplay(entityProps, propsToDisplay);\n const currentItemIndex = initialOffset + index;\n const renderWaypoint =\n isInfinite && shouldRenderWaypoint(index, currentListLength, currentItemIndex, listTotal);\n return (\n <>\n {renderWaypoint && <Waypoint onEnter={triggerInfiniteScroll} />}\n {displayCount && (\n <div className=\"heading heading--section heading--section--count\">\n <span className=\"section-number\">{currentItemIndex + 1}</span>\n <span className=\"section-total\">/{listTotal}</span>\n </div>\n )}\n <div className=\"list__item list__item--full\">\n {BuildPBComponents(pageBuilderComponents, {\n parent: { ...parent, itemId, itemEntity: entity },\n hasGTM,\n pageBuilderID\n })}\n </div>\n {!!parsedPropsToDisplay.length && (\n <>{parsedPropsToDisplay.map(prop => (prop ? <span key={prop}>{prop}</span> : null))}</>\n )}\n {shouldRenderBanner && <Banner {...bannerProps} cardBannerIndex={bannerIndex} />}\n </>\n );\n};\n\nFullRenderItem.propTypes = {\n pageBuilderComponents: PropTypes.array,\n entityProps: PropTypes.object.isRequired,\n parent: PropTypes.object.isRequired,\n currentListLength: PropTypes.number.isRequired,\n listTotal: PropTypes.number.isRequired,\n initialOffset: PropTypes.number.isRequired,\n displayCount: PropTypes.bool.isRequired,\n triggerInfiniteScroll: PropTypes.func,\n entity: PropTypes.string.isRequired,\n pageBuilderID: PropTypes.string.isRequired,\n itemId: PropTypes.string.isRequired,\n index: PropTypes.number.isRequired,\n isInfinite: PropTypes.bool.isRequired,\n shouldRenderBanner: PropTypes.bool.isRequired,\n bannerIndex: PropTypes.number.isRequired,\n propsToDisplay: PropTypes.array,\n data: PropTypes.array,\n itemsToDisplay: PropTypes.array,\n bannerProps: PropTypes.object\n};\n\nFullRenderItem.defaultProps = {\n pageBuilderComponents: null,\n data: [],\n propsToDisplay: [],\n itemsToDisplay: [],\n triggerInfiniteScroll: null,\n bannerProps: null\n};\n\nexport default FullRenderItem;\n"],"mappings":"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"}
|
|
@@ -76,18 +76,22 @@ var YoutubeEmbeded = function YoutubeEmbeded(_ref) {
|
|
|
76
76
|
var iframeSrc = !playlist ? "".concat(ytUrl, "/embed/").concat(encodedId, "?autoplay=1").concat(mutedValue).concat(paramsImp) : "".concat(ytUrl, "/embed/videoseries?autoplay=1").concat(mutedValue, "&list=").concat(encodedId).concat(paramsImp);
|
|
77
77
|
var parsedWrapperClassname = "yt-facade ".concat(renderIframe ? 'yt-activated' : '');
|
|
78
78
|
(0, _react.useEffect)(function () {
|
|
79
|
+
var isMounted = true;
|
|
79
80
|
if (!priority && !isIntersecting || imageSize === _helpers.YT_HQ_FORMAT) return;
|
|
80
81
|
var img = new Image();
|
|
81
82
|
// eslint-disable-next-line func-names
|
|
82
83
|
img.onload = function () {
|
|
83
84
|
var newImageSize = imageSize;
|
|
84
85
|
if (this && this.width === 120) newImageSize = _helpers.YT_HQ_FORMAT;
|
|
85
|
-
setImageDetails({
|
|
86
|
+
if (isMounted) setImageDetails({
|
|
86
87
|
imageSize: newImageSize,
|
|
87
88
|
displayImage: true
|
|
88
89
|
});
|
|
89
90
|
};
|
|
90
91
|
img.src = posterUrl;
|
|
92
|
+
return function () {
|
|
93
|
+
isMounted = false;
|
|
94
|
+
};
|
|
91
95
|
}, [imageSize, isIntersecting, posterUrl, priority]);
|
|
92
96
|
var warmConnections = function warmConnections() {
|
|
93
97
|
if (preconnected) return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YoutubeEmbeded.js","names":["YoutubeEmbeded","autoplay","videoId","playlistCoverId","videoTitle","poster","videoParams","announce","noCookie","webp","playlist","onIframeAdded","muted","adNetwork","iframeClass","priority","placeholderOnly","imageData","useInView","IN_VIEW_CONFIG","isIntersecting","outerRef","useState","preconnected","setPreconnected","renderIframe","setRenderIframe","imageSize","displayImage","setImageDetails","encodedId","encodeURIComponent","paramsImp","ytUrl","posterUrl","getPosterUrl","mutedValue","iframeSrc","parsedWrapperClassname","useEffect","YT_HQ_FORMAT","img","Image","onload","newImageSize","width","src","warmConnections","addIframe","YT_IMAGE_URL","backgroundImage","propTypes","PropTypes","bool","func","string","object","defaultProps"],"sources":["../../../../../src/components/Video/providers/YouTube/YoutubeEmbeded.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { useInView } from '@blaze-react/utils/lib/customHooks';\nimport { IN_VIEW_CONFIG } from '../../../../constants';\nimport { getPosterUrl, YT_HQ_FORMAT, YT_IMAGE_URL } from './helpers';\n\nconst YoutubeEmbeded = ({\n autoplay,\n videoId,\n playlistCoverId,\n videoTitle,\n poster,\n videoParams,\n announce,\n noCookie,\n webp,\n playlist,\n onIframeAdded,\n muted,\n adNetwork,\n iframeClass,\n priority,\n placeholderOnly,\n imageData\n}) => {\n const [isIntersecting, outerRef] = useInView(IN_VIEW_CONFIG);\n const [preconnected, setPreconnected] = useState(false);\n const [renderIframe, setRenderIframe] = useState(!!autoplay);\n const [{ imageSize, displayImage }, setImageDetails] = useState({\n imageSize: poster,\n displayImage: priority\n });\n\n const encodedId = encodeURIComponent(videoId);\n const paramsImp = videoParams ? `&${videoParams}` : '';\n const ytUrl = noCookie ? 'https://www.youtube-nocookie.com' : 'https://www.youtube.com';\n const posterUrl = getPosterUrl({\n imageData,\n playlistCoverId,\n playlist,\n encodedId,\n imageSize,\n webp\n });\n const mutedValue = muted ? '&mute=1' : '';\n const iframeSrc = !playlist\n ? `${ytUrl}/embed/${encodedId}?autoplay=1${mutedValue}${paramsImp}`\n : `${ytUrl}/embed/videoseries?autoplay=1${mutedValue}&list=${encodedId}${paramsImp}`;\n const parsedWrapperClassname = `yt-facade ${renderIframe ? 'yt-activated' : ''}`;\n\n useEffect(\n () => {\n if ((!priority && !isIntersecting) || imageSize === YT_HQ_FORMAT) return;\n\n const img = new Image();\n // eslint-disable-next-line func-names\n img.onload = function() {\n let newImageSize = imageSize;\n if (this && this.width === 120) newImageSize = YT_HQ_FORMAT;\n setImageDetails({ imageSize: newImageSize, displayImage: true });\n };\n\n img.src = posterUrl;\n },\n [imageSize, isIntersecting, posterUrl, priority]\n );\n\n const warmConnections = () => {\n if (preconnected) return;\n setPreconnected(true);\n };\n\n const addIframe = () => {\n if (renderIframe || placeholderOnly) return;\n onIframeAdded();\n setRenderIframe(true);\n };\n\n return (\n <>\n {preconnected && (\n <>\n <link rel=\"preconnect\" href={YT_IMAGE_URL} />\n <link rel=\"preconnect\" href={ytUrl} />\n <link rel=\"preconnect\" href=\"https://www.google.com\" />\n {adNetwork && (\n <>\n <link rel=\"preconnect\" href=\"https://static.doubleclick.net\" />\n <link rel=\"preconnect\" href=\"https://googleads.g.doubleclick.net\" />\n </>\n )}\n </>\n )}\n <div\n ref={outerRef}\n role=\"button\"\n onPointerOver={warmConnections}\n onClick={addIframe}\n className={parsedWrapperClassname}\n data-title={videoTitle}\n style={{\n backgroundImage: `url(${displayImage ? posterUrl : ''})`\n }}>\n <div\n type=\"button\"\n className=\"yt-facade-button-wrapper\"\n aria-label={`${announce} ${videoTitle}`}>\n <div className=\"yt-facade-button\" />\n </div>\n {renderIframe && (\n <iframe\n className={iframeClass}\n title={videoTitle}\n allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n allowFullScreen\n src={iframeSrc}\n />\n )}\n </div>\n </>\n );\n};\n\nYoutubeEmbeded.propTypes = {\n priority: PropTypes.bool,\n onIframeAdded: PropTypes.func,\n adNetwork: PropTypes.bool,\n autoplay: PropTypes.bool,\n playlist: PropTypes.bool,\n muted: PropTypes.bool,\n webp: PropTypes.bool,\n noCookie: PropTypes.bool,\n videoId: PropTypes.string,\n iframeClass: PropTypes.string,\n poster: PropTypes.string,\n announce: PropTypes.string,\n playlistCoverId: PropTypes.string,\n videoParams: PropTypes.string,\n videoTitle: PropTypes.string,\n placeholderOnly: PropTypes.bool,\n imageData: PropTypes.object\n};\n\nYoutubeEmbeded.defaultProps = {\n priority: true,\n onIframeAdded: () => {},\n adNetwork: false,\n autoplay: false,\n playlist: false,\n muted: false,\n webp: false,\n noCookie: false,\n iframeClass: '',\n poster: 'sddefault',\n announce: 'Watch',\n videoId: '',\n playlistCoverId: '',\n videoParams: '',\n videoTitle: '',\n placeholderOnly: false,\n imageData: {}\n};\n\nexport default YoutubeEmbeded;\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AAAqE;AAAA;AAErE,IAAMA,cAAc,GAAG,SAAjBA,cAAc,OAkBd;EAAA,IAjBJC,QAAQ,QAARA,QAAQ;IACRC,OAAO,QAAPA,OAAO;IACPC,eAAe,QAAfA,eAAe;IACfC,UAAU,QAAVA,UAAU;IACVC,MAAM,QAANA,MAAM;IACNC,WAAW,QAAXA,WAAW;IACXC,QAAQ,QAARA,QAAQ;IACRC,QAAQ,QAARA,QAAQ;IACRC,IAAI,QAAJA,IAAI;IACJC,QAAQ,QAARA,QAAQ;IACRC,aAAa,QAAbA,aAAa;IACbC,KAAK,QAALA,KAAK;IACLC,SAAS,QAATA,SAAS;IACTC,WAAW,QAAXA,WAAW;IACXC,QAAQ,QAARA,QAAQ;IACRC,eAAe,QAAfA,eAAe;IACfC,SAAS,QAATA,SAAS;EAET,iBAAmC,IAAAC,sBAAS,EAACC,yBAAc,CAAC;IAAA;IAArDC,cAAc;IAAEC,QAAQ;EAC/B,gBAAwC,IAAAC,eAAQ,EAAC,KAAK,CAAC;IAAA;IAAhDC,YAAY;IAAEC,eAAe;EACpC,iBAAwC,IAAAF,eAAQ,EAAC,CAAC,CAACrB,QAAQ,CAAC;IAAA;IAArDwB,YAAY;IAAEC,eAAe;EACpC,iBAAuD,IAAAJ,eAAQ,EAAC;MAC9DK,SAAS,EAAEtB,MAAM;MACjBuB,YAAY,EAAEb;IAChB,CAAC,CAAC;IAAA;IAAA;IAHOY,SAAS,eAATA,SAAS;IAAEC,YAAY,eAAZA,YAAY;IAAIC,eAAe;EAKnD,IAAMC,SAAS,GAAGC,kBAAkB,CAAC7B,OAAO,CAAC;EAC7C,IAAM8B,SAAS,GAAG1B,WAAW,cAAOA,WAAW,IAAK,EAAE;EACtD,IAAM2B,KAAK,GAAGzB,QAAQ,GAAG,kCAAkC,GAAG,yBAAyB;EACvF,IAAM0B,SAAS,GAAG,IAAAC,qBAAY,EAAC;IAC7BlB,SAAS,EAATA,SAAS;IACTd,eAAe,EAAfA,eAAe;IACfO,QAAQ,EAARA,QAAQ;IACRoB,SAAS,EAATA,SAAS;IACTH,SAAS,EAATA,SAAS;IACTlB,IAAI,EAAJA;EACF,CAAC,CAAC;EACF,IAAM2B,UAAU,GAAGxB,KAAK,GAAG,SAAS,GAAG,EAAE;EACzC,IAAMyB,SAAS,GAAG,CAAC3B,QAAQ,aACpBuB,KAAK,oBAAUH,SAAS,wBAAcM,UAAU,SAAGJ,SAAS,cAC5DC,KAAK,0CAAgCG,UAAU,mBAASN,SAAS,SAAGE,SAAS,CAAE;EACtF,IAAMM,sBAAsB,uBAAgBb,YAAY,GAAG,cAAc,GAAG,EAAE,CAAE;EAEhF,IAAAc,gBAAS,EACP,YAAM;IACJ,IAAK,
|
|
1
|
+
{"version":3,"file":"YoutubeEmbeded.js","names":["YoutubeEmbeded","autoplay","videoId","playlistCoverId","videoTitle","poster","videoParams","announce","noCookie","webp","playlist","onIframeAdded","muted","adNetwork","iframeClass","priority","placeholderOnly","imageData","useInView","IN_VIEW_CONFIG","isIntersecting","outerRef","useState","preconnected","setPreconnected","renderIframe","setRenderIframe","imageSize","displayImage","setImageDetails","encodedId","encodeURIComponent","paramsImp","ytUrl","posterUrl","getPosterUrl","mutedValue","iframeSrc","parsedWrapperClassname","useEffect","isMounted","YT_HQ_FORMAT","img","Image","onload","newImageSize","width","src","warmConnections","addIframe","YT_IMAGE_URL","backgroundImage","propTypes","PropTypes","bool","func","string","object","defaultProps"],"sources":["../../../../../src/components/Video/providers/YouTube/YoutubeEmbeded.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { useInView } from '@blaze-react/utils/lib/customHooks';\nimport { IN_VIEW_CONFIG } from '../../../../constants';\nimport { getPosterUrl, YT_HQ_FORMAT, YT_IMAGE_URL } from './helpers';\n\nconst YoutubeEmbeded = ({\n autoplay,\n videoId,\n playlistCoverId,\n videoTitle,\n poster,\n videoParams,\n announce,\n noCookie,\n webp,\n playlist,\n onIframeAdded,\n muted,\n adNetwork,\n iframeClass,\n priority,\n placeholderOnly,\n imageData\n}) => {\n const [isIntersecting, outerRef] = useInView(IN_VIEW_CONFIG);\n const [preconnected, setPreconnected] = useState(false);\n const [renderIframe, setRenderIframe] = useState(!!autoplay);\n const [{ imageSize, displayImage }, setImageDetails] = useState({\n imageSize: poster,\n displayImage: priority\n });\n\n const encodedId = encodeURIComponent(videoId);\n const paramsImp = videoParams ? `&${videoParams}` : '';\n const ytUrl = noCookie ? 'https://www.youtube-nocookie.com' : 'https://www.youtube.com';\n const posterUrl = getPosterUrl({\n imageData,\n playlistCoverId,\n playlist,\n encodedId,\n imageSize,\n webp\n });\n const mutedValue = muted ? '&mute=1' : '';\n const iframeSrc = !playlist\n ? `${ytUrl}/embed/${encodedId}?autoplay=1${mutedValue}${paramsImp}`\n : `${ytUrl}/embed/videoseries?autoplay=1${mutedValue}&list=${encodedId}${paramsImp}`;\n const parsedWrapperClassname = `yt-facade ${renderIframe ? 'yt-activated' : ''}`;\n\n useEffect(\n () => {\n let isMounted = true;\n if ((!priority && !isIntersecting) || imageSize === YT_HQ_FORMAT) return;\n\n const img = new Image();\n // eslint-disable-next-line func-names\n img.onload = function() {\n let newImageSize = imageSize;\n if (this && this.width === 120) newImageSize = YT_HQ_FORMAT;\n if (isMounted) setImageDetails({ imageSize: newImageSize, displayImage: true });\n };\n\n img.src = posterUrl;\n return () => {\n isMounted = false;\n };\n },\n [imageSize, isIntersecting, posterUrl, priority]\n );\n\n const warmConnections = () => {\n if (preconnected) return;\n setPreconnected(true);\n };\n\n const addIframe = () => {\n if (renderIframe || placeholderOnly) return;\n onIframeAdded();\n setRenderIframe(true);\n };\n\n return (\n <>\n {preconnected && (\n <>\n <link rel=\"preconnect\" href={YT_IMAGE_URL} />\n <link rel=\"preconnect\" href={ytUrl} />\n <link rel=\"preconnect\" href=\"https://www.google.com\" />\n {adNetwork && (\n <>\n <link rel=\"preconnect\" href=\"https://static.doubleclick.net\" />\n <link rel=\"preconnect\" href=\"https://googleads.g.doubleclick.net\" />\n </>\n )}\n </>\n )}\n <div\n ref={outerRef}\n role=\"button\"\n onPointerOver={warmConnections}\n onClick={addIframe}\n className={parsedWrapperClassname}\n data-title={videoTitle}\n style={{\n backgroundImage: `url(${displayImage ? posterUrl : ''})`\n }}>\n <div\n type=\"button\"\n className=\"yt-facade-button-wrapper\"\n aria-label={`${announce} ${videoTitle}`}>\n <div className=\"yt-facade-button\" />\n </div>\n {renderIframe && (\n <iframe\n className={iframeClass}\n title={videoTitle}\n allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n allowFullScreen\n src={iframeSrc}\n />\n )}\n </div>\n </>\n );\n};\n\nYoutubeEmbeded.propTypes = {\n priority: PropTypes.bool,\n onIframeAdded: PropTypes.func,\n adNetwork: PropTypes.bool,\n autoplay: PropTypes.bool,\n playlist: PropTypes.bool,\n muted: PropTypes.bool,\n webp: PropTypes.bool,\n noCookie: PropTypes.bool,\n videoId: PropTypes.string,\n iframeClass: PropTypes.string,\n poster: PropTypes.string,\n announce: PropTypes.string,\n playlistCoverId: PropTypes.string,\n videoParams: PropTypes.string,\n videoTitle: PropTypes.string,\n placeholderOnly: PropTypes.bool,\n imageData: PropTypes.object\n};\n\nYoutubeEmbeded.defaultProps = {\n priority: true,\n onIframeAdded: () => {},\n adNetwork: false,\n autoplay: false,\n playlist: false,\n muted: false,\n webp: false,\n noCookie: false,\n iframeClass: '',\n poster: 'sddefault',\n announce: 'Watch',\n videoId: '',\n playlistCoverId: '',\n videoParams: '',\n videoTitle: '',\n placeholderOnly: false,\n imageData: {}\n};\n\nexport default YoutubeEmbeded;\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AAAqE;AAAA;AAErE,IAAMA,cAAc,GAAG,SAAjBA,cAAc,OAkBd;EAAA,IAjBJC,QAAQ,QAARA,QAAQ;IACRC,OAAO,QAAPA,OAAO;IACPC,eAAe,QAAfA,eAAe;IACfC,UAAU,QAAVA,UAAU;IACVC,MAAM,QAANA,MAAM;IACNC,WAAW,QAAXA,WAAW;IACXC,QAAQ,QAARA,QAAQ;IACRC,QAAQ,QAARA,QAAQ;IACRC,IAAI,QAAJA,IAAI;IACJC,QAAQ,QAARA,QAAQ;IACRC,aAAa,QAAbA,aAAa;IACbC,KAAK,QAALA,KAAK;IACLC,SAAS,QAATA,SAAS;IACTC,WAAW,QAAXA,WAAW;IACXC,QAAQ,QAARA,QAAQ;IACRC,eAAe,QAAfA,eAAe;IACfC,SAAS,QAATA,SAAS;EAET,iBAAmC,IAAAC,sBAAS,EAACC,yBAAc,CAAC;IAAA;IAArDC,cAAc;IAAEC,QAAQ;EAC/B,gBAAwC,IAAAC,eAAQ,EAAC,KAAK,CAAC;IAAA;IAAhDC,YAAY;IAAEC,eAAe;EACpC,iBAAwC,IAAAF,eAAQ,EAAC,CAAC,CAACrB,QAAQ,CAAC;IAAA;IAArDwB,YAAY;IAAEC,eAAe;EACpC,iBAAuD,IAAAJ,eAAQ,EAAC;MAC9DK,SAAS,EAAEtB,MAAM;MACjBuB,YAAY,EAAEb;IAChB,CAAC,CAAC;IAAA;IAAA;IAHOY,SAAS,eAATA,SAAS;IAAEC,YAAY,eAAZA,YAAY;IAAIC,eAAe;EAKnD,IAAMC,SAAS,GAAGC,kBAAkB,CAAC7B,OAAO,CAAC;EAC7C,IAAM8B,SAAS,GAAG1B,WAAW,cAAOA,WAAW,IAAK,EAAE;EACtD,IAAM2B,KAAK,GAAGzB,QAAQ,GAAG,kCAAkC,GAAG,yBAAyB;EACvF,IAAM0B,SAAS,GAAG,IAAAC,qBAAY,EAAC;IAC7BlB,SAAS,EAATA,SAAS;IACTd,eAAe,EAAfA,eAAe;IACfO,QAAQ,EAARA,QAAQ;IACRoB,SAAS,EAATA,SAAS;IACTH,SAAS,EAATA,SAAS;IACTlB,IAAI,EAAJA;EACF,CAAC,CAAC;EACF,IAAM2B,UAAU,GAAGxB,KAAK,GAAG,SAAS,GAAG,EAAE;EACzC,IAAMyB,SAAS,GAAG,CAAC3B,QAAQ,aACpBuB,KAAK,oBAAUH,SAAS,wBAAcM,UAAU,SAAGJ,SAAS,cAC5DC,KAAK,0CAAgCG,UAAU,mBAASN,SAAS,SAAGE,SAAS,CAAE;EACtF,IAAMM,sBAAsB,uBAAgBb,YAAY,GAAG,cAAc,GAAG,EAAE,CAAE;EAEhF,IAAAc,gBAAS,EACP,YAAM;IACJ,IAAIC,SAAS,GAAG,IAAI;IACpB,IAAK,CAACzB,QAAQ,IAAI,CAACK,cAAc,IAAKO,SAAS,KAAKc,qBAAY,EAAE;IAElE,IAAMC,GAAG,GAAG,IAAIC,KAAK,EAAE;IACvB;IACAD,GAAG,CAACE,MAAM,GAAG,YAAW;MACtB,IAAIC,YAAY,GAAGlB,SAAS;MAC5B,IAAI,IAAI,IAAI,IAAI,CAACmB,KAAK,KAAK,GAAG,EAAED,YAAY,GAAGJ,qBAAY;MAC3D,IAAID,SAAS,EAAEX,eAAe,CAAC;QAAEF,SAAS,EAAEkB,YAAY;QAAEjB,YAAY,EAAE;MAAK,CAAC,CAAC;IACjF,CAAC;IAEDc,GAAG,CAACK,GAAG,GAAGb,SAAS;IACnB,OAAO,YAAM;MACXM,SAAS,GAAG,KAAK;IACnB,CAAC;EACH,CAAC,EACD,CAACb,SAAS,EAAEP,cAAc,EAAEc,SAAS,EAAEnB,QAAQ,CAAC,CACjD;EAED,IAAMiC,eAAe,GAAG,SAAlBA,eAAe,GAAS;IAC5B,IAAIzB,YAAY,EAAE;IAClBC,eAAe,CAAC,IAAI,CAAC;EACvB,CAAC;EAED,IAAMyB,SAAS,GAAG,SAAZA,SAAS,GAAS;IACtB,IAAIxB,YAAY,IAAIT,eAAe,EAAE;IACrCL,aAAa,EAAE;IACfe,eAAe,CAAC,IAAI,CAAC;EACvB,CAAC;EAED,oBACE,kEACGH,YAAY,iBACX,+EACE;IAAM,GAAG,EAAC,YAAY;IAAC,IAAI,EAAE2B;EAAa,EAAG,eAC7C;IAAM,GAAG,EAAC,YAAY;IAAC,IAAI,EAAEjB;EAAM,EAAG,eACtC;IAAM,GAAG,EAAC,YAAY;IAAC,IAAI,EAAC;EAAwB,EAAG,EACtDpB,SAAS,iBACR,+EACE;IAAM,GAAG,EAAC,YAAY;IAAC,IAAI,EAAC;EAAgC,EAAG,eAC/D;IAAM,GAAG,EAAC,YAAY;IAAC,IAAI,EAAC;EAAqC,EAAG,CAEvE,CAEJ,eACD;IACE,GAAG,EAAEQ,QAAS;IACd,IAAI,EAAC,QAAQ;IACb,aAAa,EAAE2B,eAAgB;IAC/B,OAAO,EAAEC,SAAU;IACnB,SAAS,EAAEX,sBAAuB;IAClC,cAAYlC,UAAW;IACvB,KAAK,EAAE;MACL+C,eAAe,gBAASvB,YAAY,GAAGM,SAAS,GAAG,EAAE;IACvD;EAAE,gBACF;IACE,IAAI,EAAC,QAAQ;IACb,SAAS,EAAC,0BAA0B;IACpC,wBAAe3B,QAAQ,cAAIH,UAAU;EAAG,gBACxC;IAAK,SAAS,EAAC;EAAkB,EAAG,CAChC,EACLqB,YAAY,iBACX;IACE,SAAS,EAAEX,WAAY;IACvB,KAAK,EAAEV,UAAW;IAClB,KAAK,EAAC,yEAAyE;IAC/E,eAAe;IACf,GAAG,EAAEiC;EAAU,EAElB,CACG,CACL;AAEP,CAAC;AAEDrC,cAAc,CAACoD,SAAS,GAAG;EACzBrC,QAAQ,EAAEsC,qBAAS,CAACC,IAAI;EACxB3C,aAAa,EAAE0C,qBAAS,CAACE,IAAI;EAC7B1C,SAAS,EAAEwC,qBAAS,CAACC,IAAI;EACzBrD,QAAQ,EAAEoD,qBAAS,CAACC,IAAI;EACxB5C,QAAQ,EAAE2C,qBAAS,CAACC,IAAI;EACxB1C,KAAK,EAAEyC,qBAAS,CAACC,IAAI;EACrB7C,IAAI,EAAE4C,qBAAS,CAACC,IAAI;EACpB9C,QAAQ,EAAE6C,qBAAS,CAACC,IAAI;EACxBpD,OAAO,EAAEmD,qBAAS,CAACG,MAAM;EACzB1C,WAAW,EAAEuC,qBAAS,CAACG,MAAM;EAC7BnD,MAAM,EAAEgD,qBAAS,CAACG,MAAM;EACxBjD,QAAQ,EAAE8C,qBAAS,CAACG,MAAM;EAC1BrD,eAAe,EAAEkD,qBAAS,CAACG,MAAM;EACjClD,WAAW,EAAE+C,qBAAS,CAACG,MAAM;EAC7BpD,UAAU,EAAEiD,qBAAS,CAACG,MAAM;EAC5BxC,eAAe,EAAEqC,qBAAS,CAACC,IAAI;EAC/BrC,SAAS,EAAEoC,qBAAS,CAACI;AACvB,CAAC;AAEDzD,cAAc,CAAC0D,YAAY,GAAG;EAC5B3C,QAAQ,EAAE,IAAI;EACdJ,aAAa,EAAE,yBAAM,CAAC,CAAC;EACvBE,SAAS,EAAE,KAAK;EAChBZ,QAAQ,EAAE,KAAK;EACfS,QAAQ,EAAE,KAAK;EACfE,KAAK,EAAE,KAAK;EACZH,IAAI,EAAE,KAAK;EACXD,QAAQ,EAAE,KAAK;EACfM,WAAW,EAAE,EAAE;EACfT,MAAM,EAAE,WAAW;EACnBE,QAAQ,EAAE,OAAO;EACjBL,OAAO,EAAE,EAAE;EACXC,eAAe,EAAE,EAAE;EACnBG,WAAW,EAAE,EAAE;EACfF,UAAU,EAAE,EAAE;EACdY,eAAe,EAAE,KAAK;EACtBC,SAAS,EAAE,CAAC;AACd,CAAC;AAAC,eAEajB,cAAc;AAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
-
const _excluded = ["baseAdunit", "adunit", "sizeId", "sizes", "propsToDisplay", "entity", "targetings", "parent", "asPath", "action", "actionKey", "
|
|
3
|
+
const _excluded = ["baseAdunit", "adunit", "sizeId", "sizes", "propsToDisplay", "entity", "targetings", "parent", "asPath", "action", "actionKey", "cardBannerIndex", "userPropsData"];
|
|
4
4
|
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; }
|
|
5
5
|
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) { _defineProperty(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; }
|
|
6
6
|
import React from 'react';
|
|
@@ -24,7 +24,7 @@ const BannerRender = _ref => {
|
|
|
24
24
|
asPath,
|
|
25
25
|
action,
|
|
26
26
|
actionKey,
|
|
27
|
-
|
|
27
|
+
cardBannerIndex,
|
|
28
28
|
userPropsData
|
|
29
29
|
} = _ref,
|
|
30
30
|
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
@@ -80,7 +80,7 @@ const BannerRender = _ref => {
|
|
|
80
80
|
const isContextualTargetingSet = propsToDisplay.length && parsedTargetings && Object.keys(parsedTargetings).length;
|
|
81
81
|
const isContextualTargetingReady = isContextualTargetingSet || !propsToDisplay.length;
|
|
82
82
|
const shouldShowBanner = parsedAdunit && parsedSizes && !!parsedSizes.length && isContextualTargetingReady;
|
|
83
|
-
const customTargetings = setCustomTargetings(targetings,
|
|
83
|
+
const customTargetings = setCustomTargetings(targetings, cardBannerIndex);
|
|
84
84
|
const targetingArguments = _objectSpread(_objectSpread(_objectSpread({}, parsedTargetings), customTargetings), userPropsData);
|
|
85
85
|
return /*#__PURE__*/React.createElement(AdSlotRender, {
|
|
86
86
|
shouldShowBanner: !!shouldShowBanner,
|
|
@@ -103,7 +103,7 @@ BannerRender.propTypes = {
|
|
|
103
103
|
entity: PropTypes.string,
|
|
104
104
|
targetings: PropTypes.string,
|
|
105
105
|
sizes: PropTypes.string,
|
|
106
|
-
|
|
106
|
+
cardBannerIndex: PropTypes.number,
|
|
107
107
|
userPropsData: PropTypes.object
|
|
108
108
|
};
|
|
109
109
|
BannerRender.defaultProps = {
|
|
@@ -114,7 +114,7 @@ BannerRender.defaultProps = {
|
|
|
114
114
|
entity: '',
|
|
115
115
|
targetings: '',
|
|
116
116
|
sizes: '',
|
|
117
|
-
|
|
117
|
+
cardBannerIndex: null,
|
|
118
118
|
userPropsData: {}
|
|
119
119
|
};
|
|
120
120
|
export default withTitle(BannerRender);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BannerRender.js","names":["React","PropTypes","useQuery","generateSingleItemQuery","getCount","buildBannerSizes","buildContextualTargeting","buildParsedAdunit","buildSizeMapping","setCustomTargetings","BANNER_QUERY_PROPS","COUNT_CONTENT_HIERARCHIES","GET_BANNER","PUBLISHED","withTitle","AdSlotRender","BannerRender","baseAdunit","adunit","sizeId","sizes","propsToDisplay","entity","targetings","parent","asPath","action","actionKey","
|
|
1
|
+
{"version":3,"file":"BannerRender.js","names":["React","PropTypes","useQuery","generateSingleItemQuery","getCount","buildBannerSizes","buildContextualTargeting","buildParsedAdunit","buildSizeMapping","setCustomTargetings","BANNER_QUERY_PROPS","COUNT_CONTENT_HIERARCHIES","GET_BANNER","PUBLISHED","withTitle","AdSlotRender","BannerRender","baseAdunit","adunit","sizeId","sizes","propsToDisplay","entity","targetings","parent","asPath","action","actionKey","cardBannerIndex","userPropsData","otherProps","id","itemId","data","entityRecordData","variables","where","skip","bannerData","parentId","childEntity","_ilike","parsedTargetings","entityData","bannerSizes","sizeMapping","parsedSizes","countContentHierarchies","parsedAdunit","isContextualTargetingSet","length","Object","keys","isContextualTargetingReady","shouldShowBanner","customTargetings","targetingArguments","propTypes","object","isRequired","string","array","number","defaultProps"],"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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"}
|
|
@@ -14,9 +14,9 @@ const addPosnToTargetings = (targetings, index) => {
|
|
|
14
14
|
return targetings ? `${targetings},${posn}` : posn;
|
|
15
15
|
};
|
|
16
16
|
const buildTargetingValue = valueTargeting => valueTargeting.includes('[') && valueTargeting.includes(']') ? valueTargeting.replace(/\;|\[|\]/gm, char => char === ';' ? ',' : '').split(',') : valueTargeting;
|
|
17
|
-
const setCustomTargetings = (targetings,
|
|
17
|
+
const setCustomTargetings = (targetings, cardBannerIndex) => {
|
|
18
18
|
let bannerTargetings = {};
|
|
19
|
-
const updatedTargetings =
|
|
19
|
+
const updatedTargetings = cardBannerIndex ? addPosnToTargetings(targetings, cardBannerIndex) : targetings;
|
|
20
20
|
const isValidTargeting = updatedTargetings && typeof updatedTargetings === 'string';
|
|
21
21
|
if (isValidTargeting) {
|
|
22
22
|
const customTargeting = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","names":["parseUrl","END_ADUNIT","MAX_BANNER_HEIGHT","MIN_BANNER_HEIGHT","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","url","urlParts","filter","Boolean","urlPart","slice","length","join","endAdunit","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","getMinBannerHeight","min","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":";;;AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,SAASC,UAAU,EAAEC,iBAAiB,EAAEC,iBAAiB,QAAQ,iBAAiB;AAElF,MAAMC,cAAc,GAAG,CAACC,KAAK,GAAG,EAAE,KAAK;EACrC,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE,OAAO,EAAE;EAExC,MAAMC,cAAc,GAAGD,KAAK,CAACE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAACC,WAAW,EAAE;EAC7D,MAAMC,UAAU,GAAGH,cAAc,CAACI,KAAK,CAAC,GAAG,CAAC;EAE5C,OAAOD,UAAU,CAACE,GAAG,CAACC,KAAK,IAAIA,KAAK,CAACF,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAACE,MAAM,CAAC,CAAC;AAC9D,CAAC;AAED,MAAMC,mBAAmB,GAAG,CAACC,UAAU,EAAEC,KAAK,KAAK;EACjD,MAAMC,IAAI,GAAI,QAAOD,KAAM,EAAC;EAC5B,OAAOD,UAAU,GAAI,GAAEA,UAAW,IAAGE,IAAK,EAAC,GAAGA,IAAI;AACpD,CAAC;AAED,MAAMC,mBAAmB,GAAGC,cAAc,IACxCA,cAAc,CAACC,QAAQ,CAAC,GAAG,CAAC,IAAID,cAAc,CAACC,QAAQ,CAAC,GAAG,CAAC,GACxDD,cAAc,CAACZ,OAAO,CAAC,YAAY,EAAEc,IAAI,IAAKA,IAAI,KAAK,GAAG,GAAG,GAAG,GAAG,EAAG,CAAC,CAACX,KAAK,CAAC,GAAG,CAAC,GAClFS,cAAc;AAEpB,MAAMG,mBAAmB,GAAG,CAACP,UAAU,EAAEQ,aAAa,KAAK;EACzD,IAAIC,gBAAgB,GAAG,CAAC,CAAC;EAEzB,MAAMC,iBAAiB,GAAGF,aAAa,GACnCT,mBAAmB,CAACC,UAAU,EAAEQ,aAAa,CAAC,GAC9CR,UAAU;EAEd,MAAMW,gBAAgB,GAAGD,iBAAiB,IAAI,OAAOA,iBAAiB,KAAK,QAAQ;EAEnF,IAAIC,gBAAgB,EAAE;IACpB,MAAMC,eAAe,GAAG,CAAC,CAAC;IAE1B,IAAIC,cAAc,GAAGH,iBAAiB,CAACf,KAAK,CAAC,GAAG,CAAC;IACjDkB,cAAc,qBAAQA,cAAc,CAAE;IAEtCC,MAAM,CAACC,IAAI,CAACF,cAAc,CAAC,CAACG,OAAO,CAACC,GAAG,IAAI;MACzC,MAAM,CAACC,YAAY,EAAEd,cAAc,CAAC,GAAGS,cAAc,CAACI,GAAG,CAAC,CAACtB,KAAK,CAAC,GAAG,CAAC;MAErE,IAAIuB,YAAY,IAAId,cAAc,EAAE;QAClCQ,eAAe,CAACM,YAAY,CAAC,GAAGf,mBAAmB,CAACC,cAAc,CAAC;MACrE;IACF,CAAC,CAAC;IACFK,gBAAgB,mCAAQA,gBAAgB,GAAKG,eAAe,CAAE;EAChE;EAEA,OAAOH,gBAAgB;AACzB,CAAC;AAED,MAAMU,iBAAiB,GAAG,CAACC,IAAI,EAAEC,uBAAuB,EAAEC,UAAU,EAAEC,MAAM,KAAK;EAC/E,IAAI,CAACzB,MAAM,CAAC0B,SAAS,CAACH,uBAAuB,CAAC,EAAE,OAAO,EAAE;EAEzD,MAAMI,IAAI,GAAGH,UAAU,IAAII,OAAO,CAACC,GAAG,CAACC,eAAe;EACtD,MAAMC,WAAW,GAAGR,uBAAuB,KAAK,CAAC;EACjD,MAAM;IAAES;EAAI,CAAC,GAAG7C,QAAQ,CAACmC,IAAI,CAAC;EAC9B,IAAIW,QAAQ,GAAGD,GAAG,CACfnC,KAAK,CAAC,GAAG,CAAC,CACVqC,MAAM,CAACC,OAAO,CAAC,CACfrC,GAAG,CAACsC,OAAO,IAAIA,OAAO,CAAC1C,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;EAC5CuC,QAAQ,GAAGA,QAAQ,CAACI,KAAK,CAAC,CAAC,EAAEN,WAAW,GAAGE,QAAQ,CAACK,MAAM,GAAGL,QAAQ,CAACK,MAAM,GAAG,CAAC,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;EAC3FN,QAAQ,GAAGA,QAAQ,GAAI,GAAEA,QAAS,GAAE,GAAGA,QAAQ;EAC/C,MAAMO,SAAS,GAAGf,MAAM,IAAIrC,UAAU;EAEtC,OAAQ,GAAEuC,IAAK,IAAGM,QAAS,GAAEO,SAAU,EAAC;AAC1C,CAAC;AAED,MAAMC,cAAc,GAAG,CAACC,MAAM,EAAEC,WAAW,KACzCD,MAAM,IAAIC,WAAW,IAAIA,WAAW,CAACL,MAAM,GACvCK,WAAW,CAAC7C,GAAG,CAAC,CAAC;EAAE8C,KAAK;EAAEC;AAAO,CAAC,KAAK,CAACD,KAAK,EAAEC,MAAM,CAAC,CAAC,GACvD,IAAI;AAEV,MAAMC,gBAAgB,GAAG,CAACJ,MAAM,EAAEC,WAAW,EAAEnD,KAAK,KAAK;EACvD,IAAIuD,WAAW,GAAGN,cAAc,CAACC,MAAM,EAAEC,WAAW,CAAC;EAErD,IAAI,CAACI,WAAW,IAAIvD,KAAK,EAAEuD,WAAW,GAAGxD,cAAc,CAACC,KAAK,CAAC;EAE9D,OAAOuD,WAAW;AACpB,CAAC;AAED,MAAMC,wBAAwB,GAAG,CAACC,SAAS,EAAEC,KAAK,GAAG,CAAC,CAAC,EAAEC,cAAc,GAAG,EAAE,KAAK;EAC/E,IAAIF,SAAS,IAAIC,KAAK,CAACD,SAAS,CAAC,IAAIC,KAAK,CAACD,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;IACxD,MAAMG,IAAI,GAAGF,KAAK,CAACD,SAAS,CAAC,CAAC,CAAC,CAAC;IAChC,OAAOI,cAAc,CAACD,IAAI,EAAED,cAAc,CAAC;EAC7C;EACA,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAMG,gBAAgB,GAAG,CAACZ,MAAM,EAAEC,WAAW,KAAK;EAChD,IAAIY,WAAW,GAAG,EAAE;EAEpB,IAAIb,MAAM,IAAIC,WAAW,IAAIA,WAAW,CAACL,MAAM,EAAE;IAC/C,MAAMkB,gBAAgB,GAAGb,WAAW,CAACc,MAAM,CAAC,CAACC,GAAG,EAAE;MAAEd,KAAK;MAAEC,MAAM;MAAEc,SAAS,GAAG;IAAG,CAAC,KAAK;MACtF,MAAMC,IAAI,GAAGhB,KAAK,IAAIC,MAAM,GAAG,CAACD,KAAK,EAAEC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;;MAEvD,IAAIc,SAAS,EAAE;QACbA,SAAS,CAACzC,OAAO,CAAC,CAAC;UAAE0B,KAAK,EAAEiB,aAAa;UAAEhB,MAAM,EAAEiB;QAAe,CAAC,KAAK;UACtE,MAAM3C,GAAG,GAAI,GAAE0C,aAAa,IAAI,CAAE,IAAGC,cAAc,IAAI,CAAE,EAAC;UAC1DJ,GAAG,CAACvC,GAAG,CAAC,GAAGuC,GAAG,CAACvC,GAAG,CAAC,IAAI,EAAE;UACzB,IAAIyC,IAAI,EAAEF,GAAG,CAACvC,GAAG,CAAC,CAAC4C,IAAI,CAACH,IAAI,CAAC;QAC/B,CAAC,CAAC;MACJ;MACA,OAAOF,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;IAENH,WAAW,GAAGvC,MAAM,CAACC,IAAI,CAACuC,gBAAgB,CAAC,CAAC1D,GAAG,CAACkE,kBAAkB,IAAI;MACpE,MAAM,CAACH,aAAa,EAAEC,cAAc,CAAC,GAAGE,kBAAkB,CAACnE,KAAK,CAAC,GAAG,CAAC;MACrE,OAAO;QACLoE,QAAQ,EAAE,CAACjE,MAAM,CAAC6D,aAAa,CAAC,EAAE7D,MAAM,CAAC8D,cAAc,CAAC,CAAC;QACzDtE,KAAK,EAAEgE,gBAAgB,CAACQ,kBAAkB;MAC5C,CAAC;IACH,CAAC,CAAC;EACJ;EAEA,OAAOT,WAAW;AACpB,CAAC;AAED,MAAMW,kBAAkB,GAAGvB,WAAW,IAAI;EACxC,IAAIwB,KAAK,CAACC,OAAO,CAACzB,WAAW,CAAC,IAAIA,WAAW,CAACL,MAAM,GAAG,CAAC,EAAE;IACxD,OAAO+B,IAAI,CAACC,GAAG,CAAC,GAAG3B,WAAW,CAAC7C,GAAG,CAACyE,CAAC,IAAIA,CAAC,CAAC1B,MAAM,CAAC,CAAC;EACpD;EACA,OAAOxD,iBAAiB;AAC1B,CAAC;AAED,MAAMmF,kBAAkB,GAAG7B,WAAW,IAAI;EACxC,IAAIwB,KAAK,CAACC,OAAO,CAACzB,WAAW,CAAC,IAAIA,WAAW,CAACL,MAAM,GAAG,CAAC,EAAE;IACxD,OAAO+B,IAAI,CAACI,GAAG,CAAC,GAAG9B,WAAW,CAAC7C,GAAG,CAACyE,CAAC,IAAIA,CAAC,CAAC1B,MAAM,CAAC,CAAC;EACpD;EACA,OAAOvD,iBAAiB;AAC1B,CAAC;AAED,MAAMoF,cAAc,GAAGC,SAAS,IAAI;EAClC,IAAI,CAACA,SAAS,IAAI,CAACA,SAAS,CAACrC,MAAM,EAAE,OAAO,EAAE;EAC9C,MAAMsC,UAAU,GAAG,EAAE;EACrB,MAAMC,WAAW,GAAG,CAAC,CAAC;EACtBF,SAAS,CAACzD,OAAO,CAAC,CAAC;IAAE4D;EAAoB,CAAC,KAAK;IAC7C,MAAM,CAACC,OAAO,CAAC,GAAGD,mBAAmB;IACrC,IAAI,CAACC,OAAO,IAAIA,OAAO,KAAK,IAAI,EAAE;IAClC,IAAIA,OAAO,CAACC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;MAC/B,MAAM,CAACC,QAAQ,EAAEC,UAAU,CAAC,GAAGH,OAAO,CAAClF,KAAK,CAAC,GAAG,CAAC;MACjD,IAAIgF,WAAW,CAACI,QAAQ,CAAC,EAAEJ,WAAW,CAACI,QAAQ,CAAC,CAAClB,IAAI,CAACmB,UAAU,CAAC,CAAC,KAC7DL,WAAW,CAACI,QAAQ,CAAC,GAAG,CAACC,UAAU,CAAC;IAC3C,CAAC,MAAMN,UAAU,CAACb,IAAI,CAACgB,OAAO,CAAC;EACjC,CAAC,CAAC;EAEF/D,MAAM,CAACC,IAAI,CAAC4D,WAAW,CAAC,CAAC3D,OAAO,CAACiE,SAAS,IAAI;IAC5C,MAAMC,MAAM,GAAGP,WAAW,CAACM,SAAS,CAAC;IACrCP,UAAU,CAACb,IAAI,CAACoB,SAAS,CAAC;IAC1BP,UAAU,CAACb,IAAI,CAAC,GAAG,CAAC;IACpBqB,MAAM,CAAClE,OAAO,CAACmE,IAAI,IAAIT,UAAU,CAACb,IAAI,CAACsB,IAAI,CAAC,CAAC;IAC7CT,UAAU,CAACb,IAAI,CAAC,GAAG,CAAC;EACtB,CAAC,CAAC;EAEF,OAAOa,UAAU,CAACrC,IAAI,CAAC,GAAG,CAAC;AAC7B,CAAC;AAED,MAAMc,cAAc,GAAG,CAACD,IAAI,EAAEF,KAAK,KAAK;EACtC,IAAI,CAACE,IAAI,IAAI,CAACF,KAAK,CAACZ,MAAM,EAAE,OAAO,CAAC,CAAC;EACrC,MAAMgD,aAAa,GAAG,CAAC,CAAC;EAExBpC,KAAK,CAAChC,OAAO,CAAC,CAAC;IAAE4D,mBAAmB;IAAES;EAAM,CAAC,KAAK;IAChD,MAAM,CAACpE,GAAG,CAAC,GAAG2D,mBAAmB;IACjC,IAAI,CAAC3D,GAAG,EAAE;IAEV,MAAMqE,SAAS,GAAGrE,GAAG,CAACtB,KAAK,CAAC,GAAG,CAAC;IAChC,MAAM4F,KAAK,GAAGC,cAAc,CAACF,SAAS,EAAEpC,IAAI,CAAC;IAC7C,MAAMuC,UAAU,GAAGJ,KAAK,IAAIpE,GAAG;IAE/BmE,aAAa,CAACK,UAAU,CAAC,GAAGF,KAAK;EACnC,CAAC,CAAC;EACF,OAAOH,aAAa;AACtB,CAAC;AAED,MAAMM,gBAAgB,GAAG,CAACC,GAAG,EAAE1E,GAAG,KAAK0E,GAAG,CAAC/F,GAAG,CAACgG,GAAG,IAAIA,GAAG,CAAC3E,GAAG,CAAC,CAAC,CAACe,MAAM,CAACC,OAAO,CAAC;AAE/E,MAAMuD,cAAc,GAAG,CAACzE,IAAI,EAAE8E,MAAM,KAAK;EACvC,MAAM5E,GAAG,GAAGF,IAAI,CAAC+E,KAAK,EAAE;EACxB,MAAMC,WAAW,GAAG9B,KAAK,CAACC,OAAO,CAAC2B,MAAM,CAAC,GAAGH,gBAAgB,CAACG,MAAM,EAAE5E,GAAG,CAAC,GAAG4E,MAAM,CAAC5E,GAAG,CAAC;EACvF,IAAI,CAAC8E,WAAW,EAAE,OAAO,IAAI;EAC7B,OAAOhF,IAAI,CAACqB,MAAM,GAAGoD,cAAc,CAACzE,IAAI,EAAEgF,WAAW,CAAC,GAAGA,WAAW;AACtE,CAAC;AAED,SACE1G,cAAc,EACdkB,mBAAmB,EACnBY,iBAAiB,EACjByB,gBAAgB,EAChBE,wBAAwB,EACxBM,gBAAgB,EAChBY,kBAAkB,EAClBM,kBAAkB,EAClBnB,cAAc,EACdqB,cAAc"}
|
|
1
|
+
{"version":3,"file":"helpers.js","names":["parseUrl","END_ADUNIT","MAX_BANNER_HEIGHT","MIN_BANNER_HEIGHT","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","url","urlParts","filter","Boolean","urlPart","slice","length","join","endAdunit","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","getMinBannerHeight","min","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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"}
|
|
@@ -45,7 +45,7 @@ const CardContainer = _ref => {
|
|
|
45
45
|
} = useContext(MainContext);
|
|
46
46
|
const propsToDisplayModifiers = getPropsToDisplayModifiers(propsToDisplay);
|
|
47
47
|
const dynamicWrapperSizes = enableCarousel ? '' : getDynamicGridClasses('grid', itemsPerRow, designConfig);
|
|
48
|
-
let
|
|
48
|
+
let cardBannerIndex = 0;
|
|
49
49
|
const CardWrapper = enableCarousel ? CarouselWrapper : Wrapper;
|
|
50
50
|
return /*#__PURE__*/React.createElement(CardWrapper, {
|
|
51
51
|
className: dynamicWrapperSizes,
|
|
@@ -62,7 +62,7 @@ const CardContainer = _ref => {
|
|
|
62
62
|
entityProps = _objectWithoutProperties(_ref2, _excluded2);
|
|
63
63
|
const extraProps = parsePropsToDisplay(entityProps, propsToDisplay);
|
|
64
64
|
const dynamicKey = [itemId, index].join('-');
|
|
65
|
-
if (baseAdunit)
|
|
65
|
+
if (baseAdunit) cardBannerIndex += 1;
|
|
66
66
|
const priority = priorityLimit > 0 && index + 1 <= priorityLimit;
|
|
67
67
|
return baseAdunit ? /*#__PURE__*/React.createElement(Banner, _extends({
|
|
68
68
|
key: dynamicKey,
|
|
@@ -70,7 +70,7 @@ const CardContainer = _ref => {
|
|
|
70
70
|
baseAdunit: baseAdunit
|
|
71
71
|
}, entityProps, {
|
|
72
72
|
modifier: modifier,
|
|
73
|
-
|
|
73
|
+
cardBannerIndex: cardBannerIndex
|
|
74
74
|
})) : /*#__PURE__*/React.createElement(Card, _extends({
|
|
75
75
|
key: id,
|
|
76
76
|
id: id,
|