@blaze-cms/react-page-builder 0.124.1-alpha.3 → 0.124.1-alpha.5
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 +12 -0
- package/lib/BannerContext/index.js.map +1 -1
- package/lib/HOC/withInfiniteScroll.js.map +1 -1
- package/lib/HOC/withTitle.js.map +1 -1
- package/lib/PBContext/index.js.map +1 -1
- package/lib/application/query/index.js.map +1 -1
- package/lib/components/BackToTop/BackToTop.js.map +1 -1
- package/lib/components/Banner/AdSlotRender.js.map +1 -1
- package/lib/components/Banner/Banner.js.map +1 -1
- package/lib/components/Banner/BannerRender.js.map +1 -1
- package/lib/components/Banner/helpers.js +1 -1
- package/lib/components/Banner/helpers.js.map +1 -1
- package/lib/components/Banner/index.js.map +1 -1
- package/lib/components/BlazeLink.js.map +1 -1
- package/lib/components/Breadcrumb/Breadcrumb.js.map +1 -1
- package/lib/components/Button.js +4 -0
- package/lib/components/Button.js.map +1 -1
- package/lib/components/Card/Card.js.map +1 -1
- package/lib/components/Card/CardContainer.js.map +1 -1
- package/lib/components/Card/CardFactory.js.map +1 -1
- package/lib/components/Card/CardRender.js.map +1 -1
- package/lib/components/Card/helpers/filter-query-setup.js.map +1 -1
- package/lib/components/Card/helpers/filters-setup.js.map +1 -1
- package/lib/components/Card/helpers/get-dynamic-grid-classes.js.map +1 -1
- package/lib/components/Card/helpers/use-dynamic-size-key.js +1 -5
- package/lib/components/Card/helpers/use-dynamic-size-key.js.map +1 -1
- package/lib/components/Carousel/Carousel.js.map +1 -1
- package/lib/components/Carousel/CarouselImage/CarouselImage.js.map +1 -1
- package/lib/components/Carousel/CarouselRender/CarouselRender.js.map +1 -1
- package/lib/components/CarouselWrapper.js.map +1 -1
- package/lib/components/ClickWrapper.js.map +1 -1
- package/lib/components/Code/Code.js.map +1 -1
- package/lib/components/Code/ScriptTag.js.map +1 -1
- package/lib/components/Code/helpers/wrap-script-tags.js.map +1 -1
- package/lib/components/DataSummary/DataSummaryFactory.js.map +1 -1
- package/lib/components/DataSummary/DataSummaryRender.js.map +1 -1
- package/lib/components/DataSummary/DataSummaryTypes/HeadingLargeSummary/HeadingLargeSummary.js.map +1 -1
- package/lib/components/DataSummary/DataSummaryTypes/HeadingLargeSummary/HeadingLargeSummaryContent.js.map +1 -1
- package/lib/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummary.js.map +1 -1
- package/lib/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummaryContent.js.map +1 -1
- package/lib/components/DataSummary/DataSummaryTypes/LargeSummary/LargeSummary.js.map +1 -1
- package/lib/components/DataSummary/DataSummaryTypes/LargeSummary/LargeSummaryContent.js.map +1 -1
- package/lib/components/DataSummary/DataSummaryTypes/ListSummary/ListSummary.js.map +1 -1
- package/lib/components/DataSummary/DataSummaryTypes/ListSummary/ListSummaryContent.js.map +1 -1
- package/lib/components/DataSummary/DataSummaryTypes/TextSummary/TextSummary.js.map +1 -1
- package/lib/components/DataSummary/DataSummaryTypes/TextSummary/TextSummaryContent.js.map +1 -1
- package/lib/components/DataSummary/DataSummaryTypes/index.js.map +1 -1
- package/lib/components/DataSummary/helpers/build-loop-props-content.js.map +1 -1
- package/lib/components/DataSummary/helpers/build-props-to-display-with-content.js.map +1 -1
- package/lib/components/DataSummary/helpers/get-data-summary-query.js.map +1 -1
- package/lib/components/DataSummary/helpers/get-link-based-on-value.js.map +1 -1
- package/lib/components/DataSummary/helpers/get-prop-value.js.map +1 -1
- package/lib/components/DataSummary/helpers/get-value-from-array.js.map +1 -1
- package/lib/components/DataSummary/helpers/strip-summary-props-content.js.map +1 -1
- package/lib/components/EmailConfirm/EmailConfirm.js.map +1 -1
- package/lib/components/Image/GlobalLightbox/GlobalLightbox.js.map +1 -1
- package/lib/components/Image/GlobalLightbox/NavButton.js.map +1 -1
- package/lib/components/Image/GlobalLightbox/index.js.map +1 -1
- package/lib/components/Image/Image.js.map +1 -1
- package/lib/components/Image/ImageDetails.js.map +1 -1
- package/lib/components/Image/ImageFactory.js.map +1 -1
- package/lib/components/Image/ImageRender.js.map +1 -1
- package/lib/components/Image/Lightbox/Lightbox.js.map +1 -1
- package/lib/components/ItemList/ItemListButton/ItemListButton.js.map +1 -1
- package/lib/components/ItemList/ItemListCounter/ItemListCounter.js.map +1 -1
- package/lib/components/ItemList/ItemListNew/ItemListNew.js.map +1 -1
- package/lib/components/ItemList/helpers/get-item-list-ids.js.map +1 -1
- package/lib/components/ItemList/hooks/use-item-list-id.js.map +1 -1
- package/lib/components/Layout/Layout.js.map +1 -1
- package/lib/components/Layout/helpers/check-if-row-has-columns.js.map +1 -1
- package/lib/components/LazyImage/LazyImage.js.map +1 -1
- package/lib/components/LazyImage/index.js.map +1 -1
- package/lib/components/List/ListBuilder.js.map +1 -1
- package/lib/components/List/ListFactory.js.map +1 -1
- package/lib/components/List/ListRender.js.map +1 -1
- package/lib/components/List/components/Cards/CardRenderWithInfiniteScroll.js.map +1 -1
- package/lib/components/List/components/Cards/CardsRender.js.map +1 -1
- package/lib/components/List/components/Cards/CardsRenderItem.js.map +1 -1
- package/lib/components/List/components/Cards/CardsRenderWrapper.js.map +1 -1
- package/lib/components/List/components/Full/FullRender.js.map +1 -1
- package/lib/components/List/components/Full/FullRenderItem.js.map +1 -1
- package/lib/components/List/components/Full/FullRenderWithInfiniteScroll.js.map +1 -1
- package/lib/components/List/components/Header/ListHeader.js.map +1 -1
- package/lib/components/List/components/Pagination/Classic.js.map +1 -1
- package/lib/components/List/components/Pagination/ListPagination.js.map +1 -1
- package/lib/components/List/components/Pagination/LoadMore.js.map +1 -1
- package/lib/components/List/helpers/build-az-aggregations.js.map +1 -1
- package/lib/components/List/helpers/build-az-url.js.map +1 -1
- package/lib/components/List/helpers/build-pagination-items.js.map +1 -1
- package/lib/components/List/helpers/build-pagination-url.js.map +1 -1
- package/lib/components/List/helpers/has-required-item-list-details.js.map +1 -1
- package/lib/components/Login/LoggedInMessage.js.map +1 -1
- package/lib/components/Login/Login.js.map +1 -1
- package/lib/components/Login/LoginForm.js.map +1 -1
- package/lib/components/Menu/Menu.js.map +1 -1
- package/lib/components/Menu/MenuContext.js.map +1 -1
- package/lib/components/MenuItem/MenuItem.js.map +1 -1
- package/lib/components/Modal/Modal.js.map +1 -1
- package/lib/components/PasswordReset/PasswordReset.js.map +1 -1
- package/lib/components/PasswordReset/helpers/validatePassword.js.map +1 -1
- package/lib/components/PasswordResetRequest/PasswordResetRequest.js.map +1 -1
- package/lib/components/SearchContent/SearchContent.js.map +1 -1
- package/lib/components/SearchFilter/SearchFilter/CloseMobileForm.js.map +1 -1
- package/lib/components/SearchFilter/SearchFilter/FiltersList.js.map +1 -1
- package/lib/components/SearchFilter/SearchFilter/MobileFormToolbar.js.map +1 -1
- package/lib/components/SearchFilter/SearchFilter/ResetDesktopForm.js.map +1 -1
- package/lib/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
- package/lib/components/SearchFilter/SearchFilterContainer.js.map +1 -1
- package/lib/components/SearchFilter/components/Checkbox.js.map +1 -1
- package/lib/components/SearchFilter/components/Range.js +1 -1
- package/lib/components/SearchFilter/components/Range.js.map +1 -1
- package/lib/components/SearchFilter/components/Select.js.map +1 -1
- package/lib/components/SearchFilter/components/TextSearch.js.map +1 -1
- package/lib/components/SearchFilter/helpers/build-query.js.map +1 -1
- package/lib/components/SearchFilter/helpers/calculate-min-max.js.map +1 -1
- package/lib/components/SearchFilter/helpers/check-if-range-updated.js.map +1 -1
- package/lib/components/SearchFilter/helpers/get-filter-value-from-query.js.map +1 -1
- package/lib/components/SearchFilter/helpers/get-initial-filter-values.js.map +1 -1
- package/lib/components/SearchFilter/helpers/get-intersected-prop.js.map +1 -1
- package/lib/components/SearchFilter/helpers/get-range-value.js.map +1 -1
- package/lib/components/SearchFilter/helpers/get-responsive-filter-classnames.js.map +1 -1
- package/lib/components/SearchFilter/helpers/get-select-options.js.map +1 -1
- package/lib/components/SearchFilterSort/SearchFilterSort.js.map +1 -1
- package/lib/components/SearchFilterSort/helpers/handle-sort-update.js.map +1 -1
- package/lib/components/SearchFilterSort/helpers/update-sort.js.map +1 -1
- package/lib/components/SocialFollow/SFItem.js.map +1 -1
- package/lib/components/SocialFollow/SocialFollow.js.map +1 -1
- package/lib/components/SocialFollow/SocialFollowRender.js.map +1 -1
- package/lib/components/SubMenu/SubMenu.js.map +1 -1
- package/lib/components/TextBlock/TextBlockRender.js.map +1 -1
- package/lib/components/TextBlock/index.js.map +1 -1
- package/lib/components/Video/Video.js.map +1 -1
- package/lib/components/Video/VideoModal.js.map +1 -1
- package/lib/components/Video/VideoRender.js.map +1 -1
- package/lib/components/Video/providers/Default.js.map +1 -1
- package/lib/components/Video/providers/JWPlayer/JWPlayerProvider.js.map +1 -1
- package/lib/components/Video/providers/YouTube/YouTubeProvider.js.map +1 -1
- package/lib/components/Video/providers/YouTube/YoutubeEmbeded.js.map +1 -1
- package/lib/components/Video/providers/get-provider.js.map +1 -1
- package/lib/components/Wrapper.js.map +1 -1
- package/lib/components/index.js.map +1 -1
- package/lib/helpers/build-inherited-filters.js.map +1 -1
- package/lib/helpers/build-raw-query-base.js.map +1 -1
- package/lib/helpers/build-raw-query.js.map +1 -1
- package/lib/helpers/build-search-values-checkbox-select.js.map +1 -1
- package/lib/helpers/check-props-to-use.js.map +1 -1
- package/lib/helpers/get-entities-with-banner.js.map +1 -1
- package/lib/helpers/get-entity-data.js.map +1 -1
- package/lib/helpers/get-entity-render-props.js.map +1 -1
- package/lib/helpers/get-filter-props.js.map +1 -1
- package/lib/helpers/get-generic-props.js.map +1 -1
- package/lib/helpers/get-generic-render-variables.js.map +1 -1
- package/lib/helpers/get-image-ids.js.map +1 -1
- package/lib/helpers/get-parsed-prop-values.js.map +1 -1
- package/lib/helpers/get-prop-values.js.map +1 -1
- package/lib/helpers/get-query-filters.js.map +1 -1
- package/lib/helpers/get-query-props.js.map +1 -1
- package/lib/helpers/get-updated-filter-by.js.map +1 -1
- package/lib/helpers/inject-banner.js.map +1 -1
- package/lib/helpers/inject-banners-to-entities.js.map +1 -1
- package/lib/helpers/inject-multiple-banners/get-banners-for-entities/get-banners-for-entities.js.map +1 -1
- package/lib/helpers/inject-multiple-banners/get-banners-for-nodes/get-banners-for-nodes.js.map +1 -1
- package/lib/helpers/inject-multiple-banners/get-banners-for-nodes/helpers/group-node-entities.js.map +1 -1
- package/lib/helpers/inject-multiple-banners/inject-multiple-banners.js.map +1 -1
- package/lib/helpers/is-filter-entitys-id.js.map +1 -1
- package/lib/helpers/parse-TextBlock.js.map +1 -1
- package/lib/helpers/parse-props-to-display.js.map +1 -1
- package/lib/helpers/render-children.js.map +1 -1
- package/lib/helpers/sort-response-data.js.map +1 -1
- package/lib/hooks/helpers/RenderComponent.js.map +1 -1
- package/lib/hooks/helpers/buildPBComponents.js.map +1 -1
- package/lib/hooks/helpers/getComponent.js.map +1 -1
- package/lib/hooks/helpers/inject-element-banners.js.map +1 -1
- package/lib/hooks/helpers/inject-textblock-banners.js.map +1 -1
- package/lib/hooks/helpers/insert-banners.js.map +1 -1
- package/lib/hooks/helpers/update-targetings.js.map +1 -1
- package/lib/hooks/use-banner-insertion.js.map +1 -1
- package/lib/hooks/use-check-mobile-screen.js.map +1 -1
- package/lib/hooks/use-get-entity-schema.js.map +1 -1
- package/lib/hooks/use-get-entity-schemas-as-obj.js.map +1 -1
- package/lib/hooks/use-get-image-id-from-relation.js.map +1 -1
- package/lib/hooks/use-get-images.js.map +1 -1
- package/lib/hooks/use-get-single-entity-schema.js.map +1 -1
- package/lib/hooks/use-page-builder.js.map +1 -1
- package/lib/utils/get-class-modifiers.js.map +1 -1
- package/lib/utils/get-image-data.js.map +1 -1
- package/lib-es/components/Banner/helpers.js +1 -1
- package/lib-es/components/Banner/helpers.js.map +1 -1
- package/lib-es/components/Button.js +4 -1
- package/lib-es/components/Button.js.map +1 -1
- package/lib-es/components/SearchFilter/components/Range.js +1 -1
- package/lib-es/components/SearchFilter/components/Range.js.map +1 -1
- package/package.json +2 -2
- package/src/components/Banner/helpers.js +1 -5
- package/src/components/Button.js +8 -1
- package/src/components/SearchFilter/components/Range.js +1 -1
- package/tests/unit/src/components/Banner/helpers.test.js +1 -1
- package/tests/unit/src/components/Button.test.js +4 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-TextBlock.js","names":["parseTextBlock","config","html","LinkWrapper","useTargetBlank","options","replace","domNode","attribs","children","tagName","name","ANCHOR_TAG","target","TARGET_BLANK"],"sources":["../../src/helpers/parse-TextBlock.js"],"sourcesContent":["import parseHTML, { domToReact } from 'html-react-parser';\nimport React from 'react';\nimport { ANCHOR_TAG, TARGET_BLANK } from '../constants';\n\nfunction parseTextBlock(config) {\n const { html, LinkWrapper, useTargetBlank } = config;\n\n const options = {\n replace: domNode => {\n const { attribs, children, name: tagName } = domNode;\n if (tagName === ANCHOR_TAG) {\n const target = useTargetBlank ? TARGET_BLANK : attribs.target;\n\n return LinkWrapper ? (\n <LinkWrapper {...attribs} target={target}>\n {domToReact(children, options)}\n </LinkWrapper>\n ) : (\n domNode\n );\n }\n return null;\n }\n };\n\n return parseHTML(html, options);\n}\n\nexport default parseTextBlock;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;AAEA,SAASA,cAAT,CAAwBC,MAAxB,EAAgC;EAC9B,IAAQC,IAAR,GAA8CD,MAA9C,CAAQC,IAAR;EAAA,IAAcC,WAAd,GAA8CF,MAA9C,CAAcE,WAAd;EAAA,IAA2BC,cAA3B,GAA8CH,MAA9C,CAA2BG,cAA3B;EAEA,IAAMC,OAAO,GAAG;IACdC,OAAO,EAAE,iBAAAC,OAAO,EAAI;MAClB,IAAQC,OAAR,GAA6CD,OAA7C,CAAQC,OAAR;MAAA,IAAiBC,QAAjB,GAA6CF,OAA7C,CAAiBE,QAAjB;MAAA,IAAiCC,OAAjC,GAA6CH,OAA7C,CAA2BI,IAA3B;;MACA,IAAID,OAAO,KAAKE,qBAAhB,EAA4B;QAC1B,IAAMC,MAAM,GAAGT,cAAc,GAAGU,uBAAH,GAAkBN,OAAO,CAACK,MAAvD;QAEA,OAAOV,WAAW,gBAChB,gCAAC,WAAD,gCAAiBK,OAAjB;UAA0B,MAAM,EAAEK;QAAlC,IACG,
|
|
1
|
+
{"version":3,"file":"parse-TextBlock.js","names":["parseTextBlock","config","html","LinkWrapper","useTargetBlank","options","replace","domNode","attribs","children","tagName","name","ANCHOR_TAG","target","TARGET_BLANK","domToReact","parseHTML"],"sources":["../../src/helpers/parse-TextBlock.js"],"sourcesContent":["import parseHTML, { domToReact } from 'html-react-parser';\nimport React from 'react';\nimport { ANCHOR_TAG, TARGET_BLANK } from '../constants';\n\nfunction parseTextBlock(config) {\n const { html, LinkWrapper, useTargetBlank } = config;\n\n const options = {\n replace: domNode => {\n const { attribs, children, name: tagName } = domNode;\n if (tagName === ANCHOR_TAG) {\n const target = useTargetBlank ? TARGET_BLANK : attribs.target;\n\n return LinkWrapper ? (\n <LinkWrapper {...attribs} target={target}>\n {domToReact(children, options)}\n </LinkWrapper>\n ) : (\n domNode\n );\n }\n return null;\n }\n };\n\n return parseHTML(html, options);\n}\n\nexport default parseTextBlock;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;AAEA,SAASA,cAAT,CAAwBC,MAAxB,EAAgC;EAC9B,IAAQC,IAAR,GAA8CD,MAA9C,CAAQC,IAAR;EAAA,IAAcC,WAAd,GAA8CF,MAA9C,CAAcE,WAAd;EAAA,IAA2BC,cAA3B,GAA8CH,MAA9C,CAA2BG,cAA3B;EAEA,IAAMC,OAAO,GAAG;IACdC,OAAO,EAAE,iBAAAC,OAAO,EAAI;MAClB,IAAQC,OAAR,GAA6CD,OAA7C,CAAQC,OAAR;MAAA,IAAiBC,QAAjB,GAA6CF,OAA7C,CAAiBE,QAAjB;MAAA,IAAiCC,OAAjC,GAA6CH,OAA7C,CAA2BI,IAA3B;;MACA,IAAID,OAAO,KAAKE,qBAAhB,EAA4B;QAC1B,IAAMC,MAAM,GAAGT,cAAc,GAAGU,uBAAH,GAAkBN,OAAO,CAACK,MAAvD;QAEA,OAAOV,WAAW,gBAChB,gCAAC,WAAD,gCAAiBK,OAAjB;UAA0B,MAAM,EAAEK;QAAlC,IACG,IAAAE,2BAAA,EAAWN,QAAX,EAAqBJ,OAArB,CADH,CADgB,GAKhBE,OALF;MAOD;;MACD,OAAO,IAAP;IACD;EAfa,CAAhB;EAkBA,OAAO,IAAAS,2BAAA,EAAUd,IAAV,EAAgBG,OAAhB,CAAP;AACD;;eAEcL,c"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-props-to-display.js","names":["parsePropsToDisplay","props","propsToDisplay","filter","Boolean","map","currentIndex","bold","propertiesToDisplay","prefix","suffix","shouldStrip","enableLink","Wrapper","BOLD_TAG","Fragment","parsedPropValues","sanitizedPropValues","length","stringEndBlank","BLANK_SPACE_UNICODE_STRING"],"sources":["../../src/helpers/parse-props-to-display.js"],"sourcesContent":["import React, { Fragment } from 'react';\nimport at from 'lodash.at';\nimport isObject from './is-object';\nimport getParsedPropValues from './get-parsed-prop-values';\nimport getSanitizedPropValues from './get-sanitized-prop-values';\nimport { BOLD_TAG, BLANK_SPACE_UNICODE_STRING } from '../constants';\n\n// TODO this helper should be removed if database is wiped clean and all elements change to new props struc\nconst parsePropsToDisplay = (props = {}, propsToDisplay = []) => {\n if (!isObject(propsToDisplay[0])) return at(props, propsToDisplay).filter(Boolean);\n\n return propsToDisplay.map(\n ({ bold, propertiesToDisplay, prefix, suffix, shouldStrip, enableLink }, currentIndex) => {\n const Wrapper = bold ? BOLD_TAG : Fragment;\n\n const parsedPropValues = getParsedPropValues({\n propertiesToDisplay,\n props,\n enableLink,\n shouldStrip\n });\n\n const sanitizedPropValues = getSanitizedPropValues(parsedPropValues);\n if (!sanitizedPropValues || !sanitizedPropValues.length) return null;\n const stringEndBlank =\n currentIndex + 1 === propsToDisplay.length ? '' : BLANK_SPACE_UNICODE_STRING;\n\n return (\n <Wrapper>\n {prefix} {sanitizedPropValues} {suffix}\n {stringEndBlank}\n </Wrapper>\n );\n }\n );\n};\n\nexport default parsePropsToDisplay;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA;AACA,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAsB,GAAqC;EAAA,IAApCC,KAAoC,uEAA5B,EAA4B;EAAA,IAAxBC,cAAwB,uEAAP,EAAO;EAC/D,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"parse-props-to-display.js","names":["parsePropsToDisplay","props","propsToDisplay","isObject","at","filter","Boolean","map","currentIndex","bold","propertiesToDisplay","prefix","suffix","shouldStrip","enableLink","Wrapper","BOLD_TAG","Fragment","parsedPropValues","getParsedPropValues","sanitizedPropValues","getSanitizedPropValues","length","stringEndBlank","BLANK_SPACE_UNICODE_STRING"],"sources":["../../src/helpers/parse-props-to-display.js"],"sourcesContent":["import React, { Fragment } from 'react';\nimport at from 'lodash.at';\nimport isObject from './is-object';\nimport getParsedPropValues from './get-parsed-prop-values';\nimport getSanitizedPropValues from './get-sanitized-prop-values';\nimport { BOLD_TAG, BLANK_SPACE_UNICODE_STRING } from '../constants';\n\n// TODO this helper should be removed if database is wiped clean and all elements change to new props struc\nconst parsePropsToDisplay = (props = {}, propsToDisplay = []) => {\n if (!isObject(propsToDisplay[0])) return at(props, propsToDisplay).filter(Boolean);\n\n return propsToDisplay.map(\n ({ bold, propertiesToDisplay, prefix, suffix, shouldStrip, enableLink }, currentIndex) => {\n const Wrapper = bold ? BOLD_TAG : Fragment;\n\n const parsedPropValues = getParsedPropValues({\n propertiesToDisplay,\n props,\n enableLink,\n shouldStrip\n });\n\n const sanitizedPropValues = getSanitizedPropValues(parsedPropValues);\n if (!sanitizedPropValues || !sanitizedPropValues.length) return null;\n const stringEndBlank =\n currentIndex + 1 === propsToDisplay.length ? '' : BLANK_SPACE_UNICODE_STRING;\n\n return (\n <Wrapper>\n {prefix} {sanitizedPropValues} {suffix}\n {stringEndBlank}\n </Wrapper>\n );\n }\n );\n};\n\nexport default parsePropsToDisplay;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA;AACA,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAsB,GAAqC;EAAA,IAApCC,KAAoC,uEAA5B,EAA4B;EAAA,IAAxBC,cAAwB,uEAAP,EAAO;EAC/D,IAAI,CAAC,IAAAC,oBAAA,EAASD,cAAc,CAAC,CAAD,CAAvB,CAAL,EAAkC,OAAO,IAAAE,kBAAA,EAAGH,KAAH,EAAUC,cAAV,EAA0BG,MAA1B,CAAiCC,OAAjC,CAAP;EAElC,OAAOJ,cAAc,CAACK,GAAf,CACL,gBAAyEC,YAAzE,EAA0F;IAAA,IAAvFC,IAAuF,QAAvFA,IAAuF;IAAA,IAAjFC,mBAAiF,QAAjFA,mBAAiF;IAAA,IAA5DC,MAA4D,QAA5DA,MAA4D;IAAA,IAApDC,MAAoD,QAApDA,MAAoD;IAAA,IAA5CC,WAA4C,QAA5CA,WAA4C;IAAA,IAA/BC,UAA+B,QAA/BA,UAA+B;IACxF,IAAMC,OAAO,GAAGN,IAAI,GAAGO,mBAAH,GAAcC,eAAlC;IAEA,IAAMC,gBAAgB,GAAG,IAAAC,+BAAA,EAAoB;MAC3CT,mBAAmB,EAAnBA,mBAD2C;MAE3CT,KAAK,EAALA,KAF2C;MAG3Ca,UAAU,EAAVA,UAH2C;MAI3CD,WAAW,EAAXA;IAJ2C,CAApB,CAAzB;IAOA,IAAMO,mBAAmB,GAAG,IAAAC,kCAAA,EAAuBH,gBAAvB,CAA5B;IACA,IAAI,CAACE,mBAAD,IAAwB,CAACA,mBAAmB,CAACE,MAAjD,EAAyD,OAAO,IAAP;IACzD,IAAMC,cAAc,GAClBf,YAAY,GAAG,CAAf,KAAqBN,cAAc,CAACoB,MAApC,GAA6C,EAA7C,GAAkDE,qCADpD;IAGA,oBACE,gCAAC,OAAD,QACGb,MADH,OACYS,mBADZ,OACkCR,MADlC,EAEGW,cAFH,CADF;EAMD,CAtBI,CAAP;AAwBD,CA3BD;;eA6BevB,mB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-children.js","names":["buildChildProps","childProps","parentProps","propsToOverride","CHILD_PROPS_TO_USE","forEach","prop","renderChildren","children","otherProps","React","Children","map","child","childrenElements","props","Array","isArray","length","nestedChildren","nestedChild","cloneElement"],"sources":["../../src/helpers/render-children.js"],"sourcesContent":["import React from 'react';\nimport { CHILD_PROPS_TO_USE } from '../constants';\n\nconst buildChildProps = (childProps, parentProps) => {\n const propsToOverride = {};\n CHILD_PROPS_TO_USE.forEach(prop => (propsToOverride[prop] = childProps[prop]));\n return { ...parentProps, ...propsToOverride };\n};\n\nconst renderChildren = (children, otherProps = {}) =>\n React.Children.map(children, child => {\n const childrenElements = child.props.children;\n if (Array.isArray(childrenElements) && childrenElements.length) {\n const [, nestedChildren] = child.props.children;\n return (\n Array.isArray(nestedChildren) &&\n nestedChildren.map(nestedChild => renderChildren(nestedChild, otherProps))\n );\n }\n const childProps = buildChildProps(child.props, otherProps);\n return React.cloneElement(child, { ...childProps });\n });\n\nexport default renderChildren;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;AAEA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,UAAD,EAAaC,WAAb,EAA6B;EACnD,IAAMC,eAAe,GAAG,EAAxB;;EACAC,
|
|
1
|
+
{"version":3,"file":"render-children.js","names":["buildChildProps","childProps","parentProps","propsToOverride","CHILD_PROPS_TO_USE","forEach","prop","renderChildren","children","otherProps","React","Children","map","child","childrenElements","props","Array","isArray","length","nestedChildren","nestedChild","cloneElement"],"sources":["../../src/helpers/render-children.js"],"sourcesContent":["import React from 'react';\nimport { CHILD_PROPS_TO_USE } from '../constants';\n\nconst buildChildProps = (childProps, parentProps) => {\n const propsToOverride = {};\n CHILD_PROPS_TO_USE.forEach(prop => (propsToOverride[prop] = childProps[prop]));\n return { ...parentProps, ...propsToOverride };\n};\n\nconst renderChildren = (children, otherProps = {}) =>\n React.Children.map(children, child => {\n const childrenElements = child.props.children;\n if (Array.isArray(childrenElements) && childrenElements.length) {\n const [, nestedChildren] = child.props.children;\n return (\n Array.isArray(nestedChildren) &&\n nestedChildren.map(nestedChild => renderChildren(nestedChild, otherProps))\n );\n }\n const childProps = buildChildProps(child.props, otherProps);\n return React.cloneElement(child, { ...childProps });\n });\n\nexport default renderChildren;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;AAEA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,UAAD,EAAaC,WAAb,EAA6B;EACnD,IAAMC,eAAe,GAAG,EAAxB;;EACAC,6BAAA,CAAmBC,OAAnB,CAA2B,UAAAC,IAAI;IAAA,OAAKH,eAAe,CAACG,IAAD,CAAf,GAAwBL,UAAU,CAACK,IAAD,CAAvC;EAAA,CAA/B;;EACA,uCAAYJ,WAAZ,GAA4BC,eAA5B;AACD,CAJD;;AAMA,IAAMI,cAAc,GAAG,SAAjBA,cAAiB,CAACC,QAAD;EAAA,IAAWC,UAAX,uEAAwB,EAAxB;EAAA,OACrBC,iBAAA,CAAMC,QAAN,CAAeC,GAAf,CAAmBJ,QAAnB,EAA6B,UAAAK,KAAK,EAAI;IACpC,IAAMC,gBAAgB,GAAGD,KAAK,CAACE,KAAN,CAAYP,QAArC;;IACA,IAAIQ,KAAK,CAACC,OAAN,CAAcH,gBAAd,KAAmCA,gBAAgB,CAACI,MAAxD,EAAgE;MAC9D,4DAA2BL,KAAK,CAACE,KAAN,CAAYP,QAAvC;MAAA,IAASW,cAAT;;MACA,OACEH,KAAK,CAACC,OAAN,CAAcE,cAAd,KACAA,cAAc,CAACP,GAAf,CAAmB,UAAAQ,WAAW;QAAA,OAAIb,cAAc,CAACa,WAAD,EAAcX,UAAd,CAAlB;MAAA,CAA9B,CAFF;IAID;;IACD,IAAMR,UAAU,GAAGD,eAAe,CAACa,KAAK,CAACE,KAAP,EAAcN,UAAd,CAAlC;IACA,oBAAOC,iBAAA,CAAMW,YAAN,CAAmBR,KAAnB,oBAA+BZ,UAA/B,EAAP;EACD,CAXD,CADqB;AAAA,CAAvB;;eAceM,c"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort-response-data.js","names":["sortResponseData","data","itemsToDisplay","idsToDisplay","length","map","id","find","resultId","filter","Boolean"],"sources":["../../src/helpers/sort-response-data.js"],"sourcesContent":["import getItemsToDisplayIds from './get-items-to-display-ids';\n\nconst sortResponseData = (data = [], itemsToDisplay = []) => {\n const idsToDisplay = getItemsToDisplayIds(itemsToDisplay);\n if (!idsToDisplay.length) return data;\n return idsToDisplay.map(id => data.find(({ id: resultId }) => id === resultId)).filter(Boolean);\n};\n\nexport default sortResponseData;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AAEA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAoC;EAAA,IAAnCC,IAAmC,uEAA5B,EAA4B;EAAA,IAAxBC,cAAwB,uEAAP,EAAO;EAC3D,IAAMC,YAAY,GAAG,
|
|
1
|
+
{"version":3,"file":"sort-response-data.js","names":["sortResponseData","data","itemsToDisplay","idsToDisplay","getItemsToDisplayIds","length","map","id","find","resultId","filter","Boolean"],"sources":["../../src/helpers/sort-response-data.js"],"sourcesContent":["import getItemsToDisplayIds from './get-items-to-display-ids';\n\nconst sortResponseData = (data = [], itemsToDisplay = []) => {\n const idsToDisplay = getItemsToDisplayIds(itemsToDisplay);\n if (!idsToDisplay.length) return data;\n return idsToDisplay.map(id => data.find(({ id: resultId }) => id === resultId)).filter(Boolean);\n};\n\nexport default sortResponseData;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AAEA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAoC;EAAA,IAAnCC,IAAmC,uEAA5B,EAA4B;EAAA,IAAxBC,cAAwB,uEAAP,EAAO;EAC3D,IAAMC,YAAY,GAAG,IAAAC,gCAAA,EAAqBF,cAArB,CAArB;EACA,IAAI,CAACC,YAAY,CAACE,MAAlB,EAA0B,OAAOJ,IAAP;EAC1B,OAAOE,YAAY,CAACG,GAAb,CAAiB,UAAAC,EAAE;IAAA,OAAIN,IAAI,CAACO,IAAL,CAAU;MAAA,IAAOC,QAAP,QAAGF,EAAH;MAAA,OAAsBA,EAAE,KAAKE,QAA7B;IAAA,CAAV,CAAJ;EAAA,CAAnB,EAAyEC,MAAzE,CAAgFC,OAAhF,CAAP;AACD,CAJD;;eAMeX,gB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderComponent.js","names":["RenderComponent","component","imageProps","childComponents","options","textBlockBanners","hasTextBlockBanners","siblings","nestedComponentsProps","type","settings","id","name","Component","isImage","PB_TYPE_IMAGE","PB_TYPE_BANNER","PB_TYPE_TEXTBLOCK","PB_TYPE_CAROUSEL","includes","imageOptions","updatedSettings","propTypes","PropTypes","shape","string","object","items","array","isRequired","node","bool","defaultProps"],"sources":["../../../src/hooks/helpers/RenderComponent.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport getComponent from './getComponent';\nimport appendGtmClassName from './append-gtm-classname';\nimport { PB_TYPE_IMAGE, PB_TYPE_BANNER, PB_TYPE_TEXTBLOCK, PB_TYPE_CAROUSEL } from './constants';\nimport { BannerContextProvider } from '../../BannerContext';\n\nconst RenderComponent = ({\n component,\n imageProps,\n childComponents,\n options = {},\n textBlockBanners,\n hasTextBlockBanners,\n siblings,\n ...nestedComponentsProps\n}) => {\n const { type, settings, id, name } = component;\n const Component = getComponent(type);\n const isImage = [PB_TYPE_IMAGE, PB_TYPE_BANNER, PB_TYPE_TEXTBLOCK, PB_TYPE_CAROUSEL].includes(\n type\n );\n const imageOptions = isImage ? imageProps : {};\n if (!Component) return null;\n const updatedSettings = appendGtmClassName(settings, childComponents);\n\n return (\n <Component\n key={id}\n type={type}\n {...options}\n {...imageOptions}\n {...nestedComponentsProps}\n {...updatedSettings}\n name={name || settings.name}>\n {hasTextBlockBanners ? (\n <BannerContextProvider siblings={siblings} banners={textBlockBanners} pbOptions={options}>\n {childComponents}\n </BannerContextProvider>\n ) : (\n childComponents\n )}\n </Component>\n );\n};\n\nRenderComponent.propTypes = {\n component: PropTypes.shape({\n type: PropTypes.string,\n id: PropTypes.string,\n name: PropTypes.string,\n settings: PropTypes.object,\n items: PropTypes.array\n }).isRequired,\n imageProps: PropTypes.object.isRequired,\n options: PropTypes.object.isRequired,\n childComponents: PropTypes.node.isRequired,\n textBlockBanners: PropTypes.array,\n hasTextBlockBanners: PropTypes.bool,\n siblings: PropTypes.array\n};\n\nRenderComponent.defaultProps = { textBlockBanners: null, hasTextBlockBanners: false, siblings: [] };\n\nexport default RenderComponent;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,OASlB;EAAA,IARJC,SAQI,QARJA,SAQI;EAAA,IAPJC,UAOI,QAPJA,UAOI;EAAA,IANJC,eAMI,QANJA,eAMI;EAAA,wBALJC,OAKI;EAAA,IALJA,OAKI,6BALM,EAKN;EAAA,IAJJC,gBAII,QAJJA,gBAII;EAAA,IAHJC,mBAGI,QAHJA,mBAGI;EAAA,IAFJC,QAEI,QAFJA,QAEI;EAAA,IADDC,qBACC;EACJ,IAAQC,IAAR,GAAqCR,SAArC,CAAQQ,IAAR;EAAA,IAAcC,QAAd,GAAqCT,SAArC,CAAcS,QAAd;EAAA,IAAwBC,EAAxB,GAAqCV,SAArC,CAAwBU,EAAxB;EAAA,IAA4BC,IAA5B,GAAqCX,SAArC,CAA4BW,IAA5B;EACA,IAAMC,SAAS,GAAG,
|
|
1
|
+
{"version":3,"file":"RenderComponent.js","names":["RenderComponent","component","imageProps","childComponents","options","textBlockBanners","hasTextBlockBanners","siblings","nestedComponentsProps","type","settings","id","name","Component","getComponent","isImage","PB_TYPE_IMAGE","PB_TYPE_BANNER","PB_TYPE_TEXTBLOCK","PB_TYPE_CAROUSEL","includes","imageOptions","updatedSettings","appendGtmClassName","propTypes","PropTypes","shape","string","object","items","array","isRequired","node","bool","defaultProps"],"sources":["../../../src/hooks/helpers/RenderComponent.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport getComponent from './getComponent';\nimport appendGtmClassName from './append-gtm-classname';\nimport { PB_TYPE_IMAGE, PB_TYPE_BANNER, PB_TYPE_TEXTBLOCK, PB_TYPE_CAROUSEL } from './constants';\nimport { BannerContextProvider } from '../../BannerContext';\n\nconst RenderComponent = ({\n component,\n imageProps,\n childComponents,\n options = {},\n textBlockBanners,\n hasTextBlockBanners,\n siblings,\n ...nestedComponentsProps\n}) => {\n const { type, settings, id, name } = component;\n const Component = getComponent(type);\n const isImage = [PB_TYPE_IMAGE, PB_TYPE_BANNER, PB_TYPE_TEXTBLOCK, PB_TYPE_CAROUSEL].includes(\n type\n );\n const imageOptions = isImage ? imageProps : {};\n if (!Component) return null;\n const updatedSettings = appendGtmClassName(settings, childComponents);\n\n return (\n <Component\n key={id}\n type={type}\n {...options}\n {...imageOptions}\n {...nestedComponentsProps}\n {...updatedSettings}\n name={name || settings.name}>\n {hasTextBlockBanners ? (\n <BannerContextProvider siblings={siblings} banners={textBlockBanners} pbOptions={options}>\n {childComponents}\n </BannerContextProvider>\n ) : (\n childComponents\n )}\n </Component>\n );\n};\n\nRenderComponent.propTypes = {\n component: PropTypes.shape({\n type: PropTypes.string,\n id: PropTypes.string,\n name: PropTypes.string,\n settings: PropTypes.object,\n items: PropTypes.array\n }).isRequired,\n imageProps: PropTypes.object.isRequired,\n options: PropTypes.object.isRequired,\n childComponents: PropTypes.node.isRequired,\n textBlockBanners: PropTypes.array,\n hasTextBlockBanners: PropTypes.bool,\n siblings: PropTypes.array\n};\n\nRenderComponent.defaultProps = { textBlockBanners: null, hasTextBlockBanners: false, siblings: [] };\n\nexport default RenderComponent;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,OASlB;EAAA,IARJC,SAQI,QARJA,SAQI;EAAA,IAPJC,UAOI,QAPJA,UAOI;EAAA,IANJC,eAMI,QANJA,eAMI;EAAA,wBALJC,OAKI;EAAA,IALJA,OAKI,6BALM,EAKN;EAAA,IAJJC,gBAII,QAJJA,gBAII;EAAA,IAHJC,mBAGI,QAHJA,mBAGI;EAAA,IAFJC,QAEI,QAFJA,QAEI;EAAA,IADDC,qBACC;EACJ,IAAQC,IAAR,GAAqCR,SAArC,CAAQQ,IAAR;EAAA,IAAcC,QAAd,GAAqCT,SAArC,CAAcS,QAAd;EAAA,IAAwBC,EAAxB,GAAqCV,SAArC,CAAwBU,EAAxB;EAAA,IAA4BC,IAA5B,GAAqCX,SAArC,CAA4BW,IAA5B;EACA,IAAMC,SAAS,GAAG,IAAAC,wBAAA,EAAaL,IAAb,CAAlB;EACA,IAAMM,OAAO,GAAG,CAACC,wBAAD,EAAgBC,yBAAhB,EAAgCC,4BAAhC,EAAmDC,2BAAnD,EAAqEC,QAArE,CACdX,IADc,CAAhB;EAGA,IAAMY,YAAY,GAAGN,OAAO,GAAGb,UAAH,GAAgB,EAA5C;EACA,IAAI,CAACW,SAAL,EAAgB,OAAO,IAAP;EAChB,IAAMS,eAAe,GAAG,IAAAC,8BAAA,EAAmBb,QAAnB,EAA6BP,eAA7B,CAAxB;EAEA,oBACE,gCAAC,SAAD;IACE,GAAG,EAAEQ,EADP;IAEE,IAAI,EAAEF;EAFR,GAGML,OAHN,EAIMiB,YAJN,EAKMb,qBALN,EAMMc,eANN;IAOE,IAAI,EAAEV,IAAI,IAAIF,QAAQ,CAACE;EAPzB,IAQGN,mBAAmB,gBAClB,gCAAC,oCAAD;IAAuB,QAAQ,EAAEC,QAAjC;IAA2C,OAAO,EAAEF,gBAApD;IAAsE,SAAS,EAAED;EAAjF,GACGD,eADH,CADkB,GAKlBA,eAbJ,CADF;AAkBD,CArCD;;AAuCAH,eAAe,CAACwB,SAAhB,GAA4B;EAC1BvB,SAAS,EAAEwB,qBAAA,CAAUC,KAAV,CAAgB;IACzBjB,IAAI,EAAEgB,qBAAA,CAAUE,MADS;IAEzBhB,EAAE,EAAEc,qBAAA,CAAUE,MAFW;IAGzBf,IAAI,EAAEa,qBAAA,CAAUE,MAHS;IAIzBjB,QAAQ,EAAEe,qBAAA,CAAUG,MAJK;IAKzBC,KAAK,EAAEJ,qBAAA,CAAUK;EALQ,CAAhB,EAMRC,UAPuB;EAQ1B7B,UAAU,EAAEuB,qBAAA,CAAUG,MAAV,CAAiBG,UARH;EAS1B3B,OAAO,EAAEqB,qBAAA,CAAUG,MAAV,CAAiBG,UATA;EAU1B5B,eAAe,EAAEsB,qBAAA,CAAUO,IAAV,CAAeD,UAVN;EAW1B1B,gBAAgB,EAAEoB,qBAAA,CAAUK,KAXF;EAY1BxB,mBAAmB,EAAEmB,qBAAA,CAAUQ,IAZL;EAa1B1B,QAAQ,EAAEkB,qBAAA,CAAUK;AAbM,CAA5B;AAgBA9B,eAAe,CAACkC,YAAhB,GAA+B;EAAE7B,gBAAgB,EAAE,IAApB;EAA0BC,mBAAmB,EAAE,KAA/C;EAAsDC,QAAQ,EAAE;AAAhE,CAA/B;eAEeP,e"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildPBComponents.js","names":["renderChildComponents","options","items","length","BuildPBComponents","components","rootLevel","isArray","Array","metaTitle","lightboxImages","toggleModal","open","selectedImage","setSelectedImage","parent","parentName","name","StoreImages","resetImages","addImages","concat","setHandlers","imageProps","handleSelectedImage","images","map","image","component","ELEMENT","hasElementBanners","banners","PB_TYPE_TEXTBLOCK","hasTextBlockBanners","textBlockBanners","updatedChildren","filter","settings","insertionType","bannerToInject","bannerIndex","hasComponentItems","childComponents","id"],"sources":["../../../src/hooks/helpers/buildPBComponents.js"],"sourcesContent":["import React from 'react';\nimport cloneDeep from 'lodash.clonedeep';\nimport GlobalLightbox from '../../components/Image/GlobalLightbox';\nimport RenderComponent from './RenderComponent';\nimport getBannersByType from './get-banners-by-type';\nimport injectElementBanners from './inject-element-banners';\nimport StoreImages from './StoreImages';\nimport getLightboxImages from './get-lightbox-images';\nimport insertBanners from './insert-banners';\nimport checkBannerInsertionSet from './check-banner-insertion-set';\nimport getBannerIndex from './get-banner-index';\nimport { ELEMENT } from '../../constants';\nimport { PB_TYPE_TEXTBLOCK } from './constants';\n\nfunction renderChildComponents(options, items = []) {\n return items && items.length ? BuildPBComponents(items, options) : [];\n}\n\nfunction BuildPBComponents(components, options = {}, rootLevel = false) {\n const isArray = Array.isArray(components);\n if (!isArray) return [];\n\n const {\n metaTitle,\n lightboxImages = [],\n toggleModal,\n open,\n selectedImage,\n setSelectedImage,\n parent,\n name: parentName\n } = options;\n\n if (rootLevel && !open) StoreImages.resetImages();\n\n StoreImages.addImages(getLightboxImages(components).concat(lightboxImages), options);\n StoreImages.setHandlers({ toggleModal, setSelectedImage });\n\n const imageProps = {\n toggleModal: StoreImages.toggleModal,\n handleSelectedImage: StoreImages.handleSelectedImage\n };\n\n const images = StoreImages.images.map(image => ({ ...image, ...imageProps }));\n\n return (\n <>\n {open && (\n <GlobalLightbox\n images={images}\n onClose={StoreImages.toggleModal}\n selectedImage={selectedImage}\n metaTitle={metaTitle}\n parentName={parentName}\n parent={parent}\n />\n )}\n {components.map(component => {\n const { items = [] } = component;\n const [hasElementBanners, banners] = getBannersByType(items, ELEMENT);\n const [hasTextBlockBanners, textBlockBanners] = getBannersByType(items, PB_TYPE_TEXTBLOCK);\n let updatedChildren =\n items &&\n cloneDeep(items).filter(\n ({ settings: { insertionType } = {} }) => insertionType !== PB_TYPE_TEXTBLOCK\n );\n\n if (hasElementBanners) {\n updatedChildren = injectElementBanners(banners, updatedChildren);\n } else {\n // TODO: this block is for banner retrocompatibility, once completly migrated remove it as well as all related helpers\n const bannerToInject = checkBannerInsertionSet(updatedChildren);\n const bannerIndex = getBannerIndex(updatedChildren, bannerToInject);\n const hasComponentItems = !!(updatedChildren && updatedChildren.length);\n\n if (hasComponentItems && bannerIndex > -1) {\n updatedChildren = insertBanners(updatedChildren, bannerIndex, bannerToInject);\n }\n }\n\n const childComponents = renderChildComponents(options, updatedChildren);\n\n return (\n <RenderComponent\n component={component}\n siblings={updatedChildren}\n childComponents={childComponents}\n imageProps={imageProps}\n options={{ ...options }}\n images={images}\n key={`${component.id}`}\n hasTextBlockBanners={hasTextBlockBanners}\n textBlockBanners={textBlockBanners}\n />\n );\n })}\n </>\n );\n}\n\nexport default BuildPBComponents;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,SAASA,qBAAT,CAA+BC,OAA/B,EAAoD;EAAA,IAAZC,KAAY,uEAAJ,EAAI;EAClD,OAAOA,KAAK,IAAIA,KAAK,CAACC,MAAf,GAAwBC,iBAAiB,CAACF,KAAD,EAAQD,OAAR,CAAzC,GAA4D,EAAnE;AACD;;AAED,SAASG,iBAAT,CAA2BC,UAA3B,EAAwE;EAAA,IAAjCJ,OAAiC,uEAAvB,EAAuB;EAAA,IAAnBK,SAAmB,uEAAP,KAAO;EACtE,IAAMC,OAAO,GAAGC,KAAK,CAACD,OAAN,CAAcF,UAAd,CAAhB;EACA,IAAI,CAACE,OAAL,EAAc,OAAO,EAAP;EAEd,IACEE,SADF,GASIR,OATJ,CACEQ,SADF;EAAA,4BASIR,OATJ,CAEES,cAFF;EAAA,IAEEA,cAFF,sCAEmB,EAFnB;EAAA,IAGEC,WAHF,GASIV,OATJ,CAGEU,WAHF;EAAA,IAIEC,IAJF,GASIX,OATJ,CAIEW,IAJF;EAAA,IAKEC,aALF,GASIZ,OATJ,CAKEY,aALF;EAAA,IAMEC,gBANF,GASIb,OATJ,CAMEa,gBANF;EAAA,IAOEC,MAPF,GASId,OATJ,CAOEc,MAPF;EAAA,IAQQC,UARR,GASIf,OATJ,CAQEgB,IARF;EAWA,IAAIX,SAAS,IAAI,CAACM,IAAlB,EAAwBM,
|
|
1
|
+
{"version":3,"file":"buildPBComponents.js","names":["renderChildComponents","options","items","length","BuildPBComponents","components","rootLevel","isArray","Array","metaTitle","lightboxImages","toggleModal","open","selectedImage","setSelectedImage","parent","parentName","name","StoreImages","resetImages","addImages","getLightboxImages","concat","setHandlers","imageProps","handleSelectedImage","images","map","image","component","getBannersByType","ELEMENT","hasElementBanners","banners","PB_TYPE_TEXTBLOCK","hasTextBlockBanners","textBlockBanners","updatedChildren","cloneDeep","filter","settings","insertionType","injectElementBanners","bannerToInject","checkBannerInsertionSet","bannerIndex","getBannerIndex","hasComponentItems","insertBanners","childComponents","id"],"sources":["../../../src/hooks/helpers/buildPBComponents.js"],"sourcesContent":["import React from 'react';\nimport cloneDeep from 'lodash.clonedeep';\nimport GlobalLightbox from '../../components/Image/GlobalLightbox';\nimport RenderComponent from './RenderComponent';\nimport getBannersByType from './get-banners-by-type';\nimport injectElementBanners from './inject-element-banners';\nimport StoreImages from './StoreImages';\nimport getLightboxImages from './get-lightbox-images';\nimport insertBanners from './insert-banners';\nimport checkBannerInsertionSet from './check-banner-insertion-set';\nimport getBannerIndex from './get-banner-index';\nimport { ELEMENT } from '../../constants';\nimport { PB_TYPE_TEXTBLOCK } from './constants';\n\nfunction renderChildComponents(options, items = []) {\n return items && items.length ? BuildPBComponents(items, options) : [];\n}\n\nfunction BuildPBComponents(components, options = {}, rootLevel = false) {\n const isArray = Array.isArray(components);\n if (!isArray) return [];\n\n const {\n metaTitle,\n lightboxImages = [],\n toggleModal,\n open,\n selectedImage,\n setSelectedImage,\n parent,\n name: parentName\n } = options;\n\n if (rootLevel && !open) StoreImages.resetImages();\n\n StoreImages.addImages(getLightboxImages(components).concat(lightboxImages), options);\n StoreImages.setHandlers({ toggleModal, setSelectedImage });\n\n const imageProps = {\n toggleModal: StoreImages.toggleModal,\n handleSelectedImage: StoreImages.handleSelectedImage\n };\n\n const images = StoreImages.images.map(image => ({ ...image, ...imageProps }));\n\n return (\n <>\n {open && (\n <GlobalLightbox\n images={images}\n onClose={StoreImages.toggleModal}\n selectedImage={selectedImage}\n metaTitle={metaTitle}\n parentName={parentName}\n parent={parent}\n />\n )}\n {components.map(component => {\n const { items = [] } = component;\n const [hasElementBanners, banners] = getBannersByType(items, ELEMENT);\n const [hasTextBlockBanners, textBlockBanners] = getBannersByType(items, PB_TYPE_TEXTBLOCK);\n let updatedChildren =\n items &&\n cloneDeep(items).filter(\n ({ settings: { insertionType } = {} }) => insertionType !== PB_TYPE_TEXTBLOCK\n );\n\n if (hasElementBanners) {\n updatedChildren = injectElementBanners(banners, updatedChildren);\n } else {\n // TODO: this block is for banner retrocompatibility, once completly migrated remove it as well as all related helpers\n const bannerToInject = checkBannerInsertionSet(updatedChildren);\n const bannerIndex = getBannerIndex(updatedChildren, bannerToInject);\n const hasComponentItems = !!(updatedChildren && updatedChildren.length);\n\n if (hasComponentItems && bannerIndex > -1) {\n updatedChildren = insertBanners(updatedChildren, bannerIndex, bannerToInject);\n }\n }\n\n const childComponents = renderChildComponents(options, updatedChildren);\n\n return (\n <RenderComponent\n component={component}\n siblings={updatedChildren}\n childComponents={childComponents}\n imageProps={imageProps}\n options={{ ...options }}\n images={images}\n key={`${component.id}`}\n hasTextBlockBanners={hasTextBlockBanners}\n textBlockBanners={textBlockBanners}\n />\n );\n })}\n </>\n );\n}\n\nexport default BuildPBComponents;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getComponent.js","names":["getComponent","candidate","componentMap","get"],"sources":["../../../src/hooks/helpers/getComponent.js"],"sourcesContent":["import { componentMap } from '../../utils';\n\nexport default function getComponent(candidate) {\n return componentMap.get(candidate) || null;\n}\n"],"mappings":";;;;;;;;;AAAA;;AAEe,SAASA,YAAT,CAAsBC,SAAtB,EAAiC;EAC9C,OAAOC,
|
|
1
|
+
{"version":3,"file":"getComponent.js","names":["getComponent","candidate","componentMap","get"],"sources":["../../../src/hooks/helpers/getComponent.js"],"sourcesContent":["import { componentMap } from '../../utils';\n\nexport default function getComponent(candidate) {\n return componentMap.get(candidate) || null;\n}\n"],"mappings":";;;;;;;;;AAAA;;AAEe,SAASA,YAAT,CAAsBC,SAAtB,EAAiC;EAC9C,OAAOC,mBAAA,CAAaC,GAAb,CAAiBF,SAAjB,KAA+B,IAAtC;AACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inject-element-banners.js","names":["checkBannerCollision","typeToCheck","currentType","IMAGE","injectElementBanners","banner","children","settings","repeatEvery","startingPoint","maxRepetitions","updatedChildren","bannerTotal","currentBannerPosition","forEach","component","i","type","previousComponentType","nextComponentType","isBanner","PB_TYPE_BANNER","collidedBefore","collidedAfter","push","hasReachedMax","bannerWithTargetings","updatedSettings"],"sources":["../../../src/hooks/helpers/inject-element-banners.js"],"sourcesContent":["import updateTargetings from './update-targetings';\nimport { IMAGE } from '../../constants';\nimport { PB_TYPE_BANNER } from './constants';\n\nconst checkBannerCollision = (typeToCheck, currentType) => {\n if (currentType === IMAGE) return true;\n return typeToCheck === IMAGE;\n};\n\nconst injectElementBanners = (banner, children) => {\n const {\n settings: { repeatEvery, startingPoint, maxRepetitions }\n } = banner;\n\n const updatedChildren = [];\n let bannerTotal = 0;\n let currentBannerPosition = startingPoint;\n\n children.forEach((component, i) => {\n const { type } = component;\n const { type: previousComponentType } = children[i - 1] || {};\n const { type: nextComponentType } = children[i + 1] || {};\n const isBanner = type === PB_TYPE_BANNER;\n const collidedBefore = checkBannerCollision(previousComponentType, type);\n const collidedAfter = checkBannerCollision(nextComponentType, type);\n\n if (collidedBefore || (i === 0 && collidedAfter)) {\n if (currentBannerPosition <= i) currentBannerPosition += 1;\n if (!isBanner) updatedChildren.push(component);\n return;\n }\n\n const hasReachedMax = maxRepetitions && bannerTotal >= maxRepetitions;\n if (!hasReachedMax && i === currentBannerPosition) {\n const bannerWithTargetings = repeatEvery ? updateTargetings(banner, bannerTotal) : banner;\n const updatedSettings = { ...bannerWithTargetings.settings };\n updatedChildren.push({ ...bannerWithTargetings, settings: updatedSettings });\n bannerTotal += 1;\n currentBannerPosition += repeatEvery;\n }\n if (!isBanner) updatedChildren.push(component);\n });\n\n return updatedChildren;\n};\n\nexport default injectElementBanners;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;AAEA,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,WAAD,EAAcC,WAAd,EAA8B;EACzD,IAAIA,WAAW,KAAKC,gBAApB,EAA2B,OAAO,IAAP;EAC3B,OAAOF,WAAW,KAAKE,gBAAvB;AACD,CAHD;;AAKA,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,MAAD,EAASC,QAAT,EAAsB;EACjD,uBAEID,MAFJ,CACEE,QADF;EAAA,IACcC,WADd,oBACcA,WADd;EAAA,IAC2BC,aAD3B,oBAC2BA,aAD3B;EAAA,IAC0CC,cAD1C,oBAC0CA,cAD1C;EAIA,IAAMC,eAAe,GAAG,EAAxB;EACA,IAAIC,WAAW,GAAG,CAAlB;EACA,IAAIC,qBAAqB,GAAGJ,aAA5B;EAEAH,QAAQ,CAACQ,OAAT,CAAiB,UAACC,SAAD,EAAYC,CAAZ,EAAkB;IACjC,IAAQC,IAAR,GAAiBF,SAAjB,CAAQE,IAAR;;IACA,WAAwCX,QAAQ,CAACU,CAAC,GAAG,CAAL,CAAR,IAAmB,EAA3D;IAAA,IAAcE,qBAAd,QAAQD,IAAR;;IACA,YAAoCX,QAAQ,CAACU,CAAC,GAAG,CAAL,CAAR,IAAmB,EAAvD;IAAA,IAAcG,iBAAd,SAAQF,IAAR;;IACA,IAAMG,QAAQ,GAAGH,IAAI,KAAKI,0BAA1B;IACA,IAAMC,cAAc,GAAGtB,oBAAoB,CAACkB,qBAAD,EAAwBD,IAAxB,CAA3C;IACA,IAAMM,aAAa,GAAGvB,oBAAoB,CAACmB,iBAAD,EAAoBF,IAApB,CAA1C;;IAEA,IAAIK,cAAc,IAAKN,CAAC,KAAK,CAAN,IAAWO,aAAlC,EAAkD;MAChD,IAAIV,qBAAqB,IAAIG,CAA7B,EAAgCH,qBAAqB,IAAI,CAAzB;MAChC,IAAI,CAACO,QAAL,EAAeT,eAAe,CAACa,IAAhB,CAAqBT,SAArB;MACf;IACD;;IAED,IAAMU,aAAa,GAAGf,cAAc,IAAIE,WAAW,IAAIF,cAAvD;;IACA,IAAI,CAACe,aAAD,IAAkBT,CAAC,KAAKH,qBAA5B,EAAmD;MACjD,IAAMa,oBAAoB,GAAGlB,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"inject-element-banners.js","names":["checkBannerCollision","typeToCheck","currentType","IMAGE","injectElementBanners","banner","children","settings","repeatEvery","startingPoint","maxRepetitions","updatedChildren","bannerTotal","currentBannerPosition","forEach","component","i","type","previousComponentType","nextComponentType","isBanner","PB_TYPE_BANNER","collidedBefore","collidedAfter","push","hasReachedMax","bannerWithTargetings","updateTargetings","updatedSettings"],"sources":["../../../src/hooks/helpers/inject-element-banners.js"],"sourcesContent":["import updateTargetings from './update-targetings';\nimport { IMAGE } from '../../constants';\nimport { PB_TYPE_BANNER } from './constants';\n\nconst checkBannerCollision = (typeToCheck, currentType) => {\n if (currentType === IMAGE) return true;\n return typeToCheck === IMAGE;\n};\n\nconst injectElementBanners = (banner, children) => {\n const {\n settings: { repeatEvery, startingPoint, maxRepetitions }\n } = banner;\n\n const updatedChildren = [];\n let bannerTotal = 0;\n let currentBannerPosition = startingPoint;\n\n children.forEach((component, i) => {\n const { type } = component;\n const { type: previousComponentType } = children[i - 1] || {};\n const { type: nextComponentType } = children[i + 1] || {};\n const isBanner = type === PB_TYPE_BANNER;\n const collidedBefore = checkBannerCollision(previousComponentType, type);\n const collidedAfter = checkBannerCollision(nextComponentType, type);\n\n if (collidedBefore || (i === 0 && collidedAfter)) {\n if (currentBannerPosition <= i) currentBannerPosition += 1;\n if (!isBanner) updatedChildren.push(component);\n return;\n }\n\n const hasReachedMax = maxRepetitions && bannerTotal >= maxRepetitions;\n if (!hasReachedMax && i === currentBannerPosition) {\n const bannerWithTargetings = repeatEvery ? updateTargetings(banner, bannerTotal) : banner;\n const updatedSettings = { ...bannerWithTargetings.settings };\n updatedChildren.push({ ...bannerWithTargetings, settings: updatedSettings });\n bannerTotal += 1;\n currentBannerPosition += repeatEvery;\n }\n if (!isBanner) updatedChildren.push(component);\n });\n\n return updatedChildren;\n};\n\nexport default injectElementBanners;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;AAEA,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,WAAD,EAAcC,WAAd,EAA8B;EACzD,IAAIA,WAAW,KAAKC,gBAApB,EAA2B,OAAO,IAAP;EAC3B,OAAOF,WAAW,KAAKE,gBAAvB;AACD,CAHD;;AAKA,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,MAAD,EAASC,QAAT,EAAsB;EACjD,uBAEID,MAFJ,CACEE,QADF;EAAA,IACcC,WADd,oBACcA,WADd;EAAA,IAC2BC,aAD3B,oBAC2BA,aAD3B;EAAA,IAC0CC,cAD1C,oBAC0CA,cAD1C;EAIA,IAAMC,eAAe,GAAG,EAAxB;EACA,IAAIC,WAAW,GAAG,CAAlB;EACA,IAAIC,qBAAqB,GAAGJ,aAA5B;EAEAH,QAAQ,CAACQ,OAAT,CAAiB,UAACC,SAAD,EAAYC,CAAZ,EAAkB;IACjC,IAAQC,IAAR,GAAiBF,SAAjB,CAAQE,IAAR;;IACA,WAAwCX,QAAQ,CAACU,CAAC,GAAG,CAAL,CAAR,IAAmB,EAA3D;IAAA,IAAcE,qBAAd,QAAQD,IAAR;;IACA,YAAoCX,QAAQ,CAACU,CAAC,GAAG,CAAL,CAAR,IAAmB,EAAvD;IAAA,IAAcG,iBAAd,SAAQF,IAAR;;IACA,IAAMG,QAAQ,GAAGH,IAAI,KAAKI,0BAA1B;IACA,IAAMC,cAAc,GAAGtB,oBAAoB,CAACkB,qBAAD,EAAwBD,IAAxB,CAA3C;IACA,IAAMM,aAAa,GAAGvB,oBAAoB,CAACmB,iBAAD,EAAoBF,IAApB,CAA1C;;IAEA,IAAIK,cAAc,IAAKN,CAAC,KAAK,CAAN,IAAWO,aAAlC,EAAkD;MAChD,IAAIV,qBAAqB,IAAIG,CAA7B,EAAgCH,qBAAqB,IAAI,CAAzB;MAChC,IAAI,CAACO,QAAL,EAAeT,eAAe,CAACa,IAAhB,CAAqBT,SAArB;MACf;IACD;;IAED,IAAMU,aAAa,GAAGf,cAAc,IAAIE,WAAW,IAAIF,cAAvD;;IACA,IAAI,CAACe,aAAD,IAAkBT,CAAC,KAAKH,qBAA5B,EAAmD;MACjD,IAAMa,oBAAoB,GAAGlB,WAAW,GAAG,IAAAmB,4BAAA,EAAiBtB,MAAjB,EAAyBO,WAAzB,CAAH,GAA2CP,MAAnF;;MACA,IAAMuB,eAAe,qBAAQF,oBAAoB,CAACnB,QAA7B,CAArB;;MACAI,eAAe,CAACa,IAAhB,iCAA0BE,oBAA1B;QAAgDnB,QAAQ,EAAEqB;MAA1D;MACAhB,WAAW,IAAI,CAAf;MACAC,qBAAqB,IAAIL,WAAzB;IACD;;IACD,IAAI,CAACY,QAAL,EAAeT,eAAe,CAACa,IAAhB,CAAqBT,SAArB;EAChB,CAvBD;EAyBA,OAAOJ,eAAP;AACD,CAnCD;;eAqCeP,oB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inject-textblock-banners.js","names":["checkCanInjectBanner","maxRepetitions","total","injectTextblockBanners","componentName","parsedTextBlock","bannerContext","bannerCounters","banners","siblings","pbOptions","bannerPositionCounter","blockTracker","collidedWithPrevious","collidedWithNext","updatedBlock","blocksLength","length","forEach","block","blockIndex","type","props","paragraphContent","children","hasBanner","shouldCount","ALLOWED_BLOCK_TYPES","includes","addBlock","banner","name","settings","repeatEvery","paragraphCounter","insertionPoint","canInsertAfterPreviousBlock","lastBlockType","hasCollided","canInjectBanner","bannerWithTargetings","counter","bannerKey","targetings","updatedBanner","push"],"sources":["../../../src/hooks/helpers/inject-textblock-banners.js"],"sourcesContent":["import React from 'react';\nimport Banner from '../../components/Banner';\nimport { getCollisions, checkIfHasCollided } from './check-collisions';\nimport updateTargetings from './update-targetings';\nimport { ALLOWED_BLOCK_TYPES } from '../../constants';\n\nconst checkCanInjectBanner = (maxRepetitions, total) => {\n if (!maxRepetitions) return true;\n return total < maxRepetitions;\n};\n\nconst injectTextblockBanners = ({ componentName, parsedTextBlock, bannerContext }) => {\n const {\n bannerCounters,\n banners,\n siblings,\n pbOptions,\n bannerPositionCounter,\n blockTracker\n } = bannerContext;\n const [collidedWithPrevious, collidedWithNext] = getCollisions(componentName, siblings);\n const updatedBlock = [];\n const { length: blocksLength } = parsedTextBlock;\n\n parsedTextBlock.forEach((block, blockIndex) => {\n const { type, props: { children: paragraphContent } = {} } = block;\n let hasBanner = false;\n const shouldCount = ALLOWED_BLOCK_TYPES.includes(type);\n if (!paragraphContent || typeof type !== 'string') {\n return addBlock(block, blockTracker, updatedBlock);\n }\n\n banners.forEach(banner => {\n const { name, settings } = banner;\n const { repeatEvery, maxRepetitions } = settings;\n\n const { total, paragraphCounter, insertionPoint } = bannerCounters[name];\n const canInsertAfterPreviousBlock =\n !blockTracker.lastBlockType || ALLOWED_BLOCK_TYPES.includes(blockTracker.lastBlockType);\n\n const hasCollided =\n !canInsertAfterPreviousBlock ||\n checkIfHasCollided(blockIndex, blocksLength, collidedWithPrevious, collidedWithNext);\n const canInjectBanner = checkCanInjectBanner(maxRepetitions, total);\n\n if (canInjectBanner && paragraphCounter === insertionPoint) {\n if (hasBanner || hasCollided) {\n bannerCounters[name].insertionPoint += 1;\n bannerCounters[name].paragraphCounter += 1;\n return;\n }\n\n const bannerWithTargetings = repeatEvery\n ? updateTargetings(banner, bannerPositionCounter.counter)\n : banner;\n const bannerKey = `${bannerWithTargetings.settings.targetings}-${paragraphCounter}`;\n const updatedBanner = {\n ...pbOptions,\n ...bannerWithTargetings.settings,\n name\n };\n updatedBlock.push(<Banner key={bannerKey} {...updatedBanner} />);\n bannerCounters[name].insertionPoint += repeatEvery;\n bannerCounters[name].total += 1;\n hasBanner = true;\n if (repeatEvery) bannerPositionCounter.counter += 1;\n }\n\n bannerCounters[name].paragraphCounter += shouldCount ? 1 : 0;\n });\n\n return addBlock(block, blockTracker, updatedBlock);\n });\n\n return updatedBlock;\n};\n\nconst addBlock = (block, blockTracker, updatedBlock) => {\n // eslint-disable-next-line no-param-reassign\n if (block.type) blockTracker.lastBlockType = block.type;\n return updatedBlock.push(block);\n};\n\nexport default injectTextblockBanners;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,cAAD,EAAiBC,KAAjB,EAA2B;EACtD,IAAI,CAACD,cAAL,EAAqB,OAAO,IAAP;EACrB,OAAOC,KAAK,GAAGD,cAAf;AACD,CAHD;;AAKA,IAAME,sBAAsB,GAAG,SAAzBA,sBAAyB,OAAuD;EAAA,IAApDC,aAAoD,QAApDA,aAAoD;EAAA,IAArCC,eAAqC,QAArCA,eAAqC;EAAA,IAApBC,aAAoB,QAApBA,aAAoB;EACpF,IACEC,cADF,GAOID,aAPJ,CACEC,cADF;EAAA,IAEEC,OAFF,GAOIF,aAPJ,CAEEE,OAFF;EAAA,IAGEC,QAHF,GAOIH,aAPJ,CAGEG,QAHF;EAAA,IAIEC,SAJF,GAOIJ,aAPJ,CAIEI,SAJF;EAAA,IAKEC,qBALF,GAOIL,aAPJ,CAKEK,qBALF;EAAA,IAMEC,YANF,GAOIN,aAPJ,CAMEM,YANF;;EAQA,qBAAiD,
|
|
1
|
+
{"version":3,"file":"inject-textblock-banners.js","names":["checkCanInjectBanner","maxRepetitions","total","injectTextblockBanners","componentName","parsedTextBlock","bannerContext","bannerCounters","banners","siblings","pbOptions","bannerPositionCounter","blockTracker","getCollisions","collidedWithPrevious","collidedWithNext","updatedBlock","blocksLength","length","forEach","block","blockIndex","type","props","paragraphContent","children","hasBanner","shouldCount","ALLOWED_BLOCK_TYPES","includes","addBlock","banner","name","settings","repeatEvery","paragraphCounter","insertionPoint","canInsertAfterPreviousBlock","lastBlockType","hasCollided","checkIfHasCollided","canInjectBanner","bannerWithTargetings","updateTargetings","counter","bannerKey","targetings","updatedBanner","push"],"sources":["../../../src/hooks/helpers/inject-textblock-banners.js"],"sourcesContent":["import React from 'react';\nimport Banner from '../../components/Banner';\nimport { getCollisions, checkIfHasCollided } from './check-collisions';\nimport updateTargetings from './update-targetings';\nimport { ALLOWED_BLOCK_TYPES } from '../../constants';\n\nconst checkCanInjectBanner = (maxRepetitions, total) => {\n if (!maxRepetitions) return true;\n return total < maxRepetitions;\n};\n\nconst injectTextblockBanners = ({ componentName, parsedTextBlock, bannerContext }) => {\n const {\n bannerCounters,\n banners,\n siblings,\n pbOptions,\n bannerPositionCounter,\n blockTracker\n } = bannerContext;\n const [collidedWithPrevious, collidedWithNext] = getCollisions(componentName, siblings);\n const updatedBlock = [];\n const { length: blocksLength } = parsedTextBlock;\n\n parsedTextBlock.forEach((block, blockIndex) => {\n const { type, props: { children: paragraphContent } = {} } = block;\n let hasBanner = false;\n const shouldCount = ALLOWED_BLOCK_TYPES.includes(type);\n if (!paragraphContent || typeof type !== 'string') {\n return addBlock(block, blockTracker, updatedBlock);\n }\n\n banners.forEach(banner => {\n const { name, settings } = banner;\n const { repeatEvery, maxRepetitions } = settings;\n\n const { total, paragraphCounter, insertionPoint } = bannerCounters[name];\n const canInsertAfterPreviousBlock =\n !blockTracker.lastBlockType || ALLOWED_BLOCK_TYPES.includes(blockTracker.lastBlockType);\n\n const hasCollided =\n !canInsertAfterPreviousBlock ||\n checkIfHasCollided(blockIndex, blocksLength, collidedWithPrevious, collidedWithNext);\n const canInjectBanner = checkCanInjectBanner(maxRepetitions, total);\n\n if (canInjectBanner && paragraphCounter === insertionPoint) {\n if (hasBanner || hasCollided) {\n bannerCounters[name].insertionPoint += 1;\n bannerCounters[name].paragraphCounter += 1;\n return;\n }\n\n const bannerWithTargetings = repeatEvery\n ? updateTargetings(banner, bannerPositionCounter.counter)\n : banner;\n const bannerKey = `${bannerWithTargetings.settings.targetings}-${paragraphCounter}`;\n const updatedBanner = {\n ...pbOptions,\n ...bannerWithTargetings.settings,\n name\n };\n updatedBlock.push(<Banner key={bannerKey} {...updatedBanner} />);\n bannerCounters[name].insertionPoint += repeatEvery;\n bannerCounters[name].total += 1;\n hasBanner = true;\n if (repeatEvery) bannerPositionCounter.counter += 1;\n }\n\n bannerCounters[name].paragraphCounter += shouldCount ? 1 : 0;\n });\n\n return addBlock(block, blockTracker, updatedBlock);\n });\n\n return updatedBlock;\n};\n\nconst addBlock = (block, blockTracker, updatedBlock) => {\n // eslint-disable-next-line no-param-reassign\n if (block.type) blockTracker.lastBlockType = block.type;\n return updatedBlock.push(block);\n};\n\nexport default injectTextblockBanners;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"insert-banners.js","names":["addPosnToTargetings","banner","targetings","i","bannerCopy","posn","updatedTargetings","settings","insertRepeatedBannersWhenIntervalHasComma","items","positions","count","sortedPositions","sort","occurences","reduce","acc","sortedPosition","bannerInserted","updatedValue","forEach","parsedPosition","Number","updatedBanner","splice","length","parseInterval","interval","replace","insertBanners","index","itemsCopy","slice","repeat","parsedInterval","intervalHasComma","includes","numericInterval","childLength","Math","floor","split","position"],"sources":["../../../src/hooks/helpers/insert-banners.js"],"sourcesContent":["import cloneDeep from 'lodash.clonedeep';\n\nconst addPosnToTargetings = (banner, targetings, i) => {\n const bannerCopy = cloneDeep(banner);\n const posn = `posn=${i + 1}`;\n const updatedTargetings = targetings ? `${targetings},${posn}` : posn;\n bannerCopy.settings.targetings = updatedTargetings;\n\n return bannerCopy;\n};\n\nconst insertRepeatedBannersWhenIntervalHasComma = (items, positions, banner) => {\n let count = 0;\n const sortedPositions = positions.sort();\n const occurences = sortedPositions.reduce((acc, sortedPosition) => {\n acc[sortedPosition] = 0;\n return acc;\n }, {});\n\n for (let i = 0; i < items.length + 1; i += 1) {\n let bannerInserted = false;\n const updatedValue = i - count;\n // eslint-disable-next-line no-loop-func\n sortedPositions.forEach(sortedPosition => {\n const parsedPosition = Number(sortedPosition);\n if (\n i >= parsedPosition &&\n updatedValue % parsedPosition === 0 &&\n updatedValue / parsedPosition === occurences[sortedPosition] + 1\n ) {\n occurences[sortedPosition] += 1;\n if (!bannerInserted) {\n const { targetings } = banner.settings;\n const updatedBanner = addPosnToTargetings(banner, targetings, count);\n\n items.splice(i, 0, updatedBanner);\n bannerInserted = true;\n count += 1;\n }\n }\n });\n }\n};\n\nconst parseInterval = interval => (interval ? interval.replace(/ /g, '') : '');\n\nconst insertBanners = (items, index, banner) => {\n const itemsCopy = items.slice();\n itemsCopy.splice(index, 1);\n\n const {\n settings: { interval = '', repeat = false, targetings }\n } = banner;\n\n const parsedInterval = parseInterval(interval);\n const intervalHasComma = parsedInterval.includes(',');\n\n if (!intervalHasComma) {\n const numericInterval = Number(parsedInterval);\n if (repeat) {\n const childLength = itemsCopy.length;\n for (let i = 0; i < Math.floor(childLength / numericInterval); i += 1) {\n const updatedBanner = addPosnToTargetings(banner, targetings, i);\n itemsCopy.splice(numericInterval * (i + 1) + i, 0, updatedBanner);\n }\n } else {\n const updatedBanner = addPosnToTargetings(banner, targetings, 0);\n itemsCopy.splice(numericInterval, 0, updatedBanner);\n }\n }\n\n if (intervalHasComma) {\n const positions = parsedInterval.split(',');\n\n if (repeat) {\n insertRepeatedBannersWhenIntervalHasComma(itemsCopy, positions, banner);\n } else {\n positions.forEach((position, i) => {\n const parsedPosition = Number(position);\n const updatedBanner = addPosnToTargetings(banner, targetings, i);\n\n if (parsedPosition + i < itemsCopy.length) {\n itemsCopy.splice(parsedPosition + i, 0, updatedBanner);\n }\n if (itemsCopy.length === 1 && parsedPosition === 1) {\n itemsCopy.splice(parsedPosition + i, 0, updatedBanner);\n }\n });\n }\n }\n\n return itemsCopy;\n};\n\nexport default insertBanners;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,MAAD,EAASC,UAAT,EAAqBC,CAArB,EAA2B;EACrD,IAAMC,UAAU,GAAG,
|
|
1
|
+
{"version":3,"file":"insert-banners.js","names":["addPosnToTargetings","banner","targetings","i","bannerCopy","cloneDeep","posn","updatedTargetings","settings","insertRepeatedBannersWhenIntervalHasComma","items","positions","count","sortedPositions","sort","occurences","reduce","acc","sortedPosition","bannerInserted","updatedValue","forEach","parsedPosition","Number","updatedBanner","splice","length","parseInterval","interval","replace","insertBanners","index","itemsCopy","slice","repeat","parsedInterval","intervalHasComma","includes","numericInterval","childLength","Math","floor","split","position"],"sources":["../../../src/hooks/helpers/insert-banners.js"],"sourcesContent":["import cloneDeep from 'lodash.clonedeep';\n\nconst addPosnToTargetings = (banner, targetings, i) => {\n const bannerCopy = cloneDeep(banner);\n const posn = `posn=${i + 1}`;\n const updatedTargetings = targetings ? `${targetings},${posn}` : posn;\n bannerCopy.settings.targetings = updatedTargetings;\n\n return bannerCopy;\n};\n\nconst insertRepeatedBannersWhenIntervalHasComma = (items, positions, banner) => {\n let count = 0;\n const sortedPositions = positions.sort();\n const occurences = sortedPositions.reduce((acc, sortedPosition) => {\n acc[sortedPosition] = 0;\n return acc;\n }, {});\n\n for (let i = 0; i < items.length + 1; i += 1) {\n let bannerInserted = false;\n const updatedValue = i - count;\n // eslint-disable-next-line no-loop-func\n sortedPositions.forEach(sortedPosition => {\n const parsedPosition = Number(sortedPosition);\n if (\n i >= parsedPosition &&\n updatedValue % parsedPosition === 0 &&\n updatedValue / parsedPosition === occurences[sortedPosition] + 1\n ) {\n occurences[sortedPosition] += 1;\n if (!bannerInserted) {\n const { targetings } = banner.settings;\n const updatedBanner = addPosnToTargetings(banner, targetings, count);\n\n items.splice(i, 0, updatedBanner);\n bannerInserted = true;\n count += 1;\n }\n }\n });\n }\n};\n\nconst parseInterval = interval => (interval ? interval.replace(/ /g, '') : '');\n\nconst insertBanners = (items, index, banner) => {\n const itemsCopy = items.slice();\n itemsCopy.splice(index, 1);\n\n const {\n settings: { interval = '', repeat = false, targetings }\n } = banner;\n\n const parsedInterval = parseInterval(interval);\n const intervalHasComma = parsedInterval.includes(',');\n\n if (!intervalHasComma) {\n const numericInterval = Number(parsedInterval);\n if (repeat) {\n const childLength = itemsCopy.length;\n for (let i = 0; i < Math.floor(childLength / numericInterval); i += 1) {\n const updatedBanner = addPosnToTargetings(banner, targetings, i);\n itemsCopy.splice(numericInterval * (i + 1) + i, 0, updatedBanner);\n }\n } else {\n const updatedBanner = addPosnToTargetings(banner, targetings, 0);\n itemsCopy.splice(numericInterval, 0, updatedBanner);\n }\n }\n\n if (intervalHasComma) {\n const positions = parsedInterval.split(',');\n\n if (repeat) {\n insertRepeatedBannersWhenIntervalHasComma(itemsCopy, positions, banner);\n } else {\n positions.forEach((position, i) => {\n const parsedPosition = Number(position);\n const updatedBanner = addPosnToTargetings(banner, targetings, i);\n\n if (parsedPosition + i < itemsCopy.length) {\n itemsCopy.splice(parsedPosition + i, 0, updatedBanner);\n }\n if (itemsCopy.length === 1 && parsedPosition === 1) {\n itemsCopy.splice(parsedPosition + i, 0, updatedBanner);\n }\n });\n }\n }\n\n return itemsCopy;\n};\n\nexport default insertBanners;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-targetings.js","names":["updateTargetings","banner","count","bannerCopy","targetings","settings","posn","updatedTargetings"],"sources":["../../../src/hooks/helpers/update-targetings.js"],"sourcesContent":["import cloneDeep from 'lodash.clonedeep';\n\nconst updateTargetings = (banner, count) => {\n const bannerCopy = cloneDeep(banner);\n const {\n settings: { targetings }\n } = bannerCopy;\n const posn = `posn=${count + 1}`;\n const updatedTargetings = targetings ? `${targetings},${posn}` : posn;\n bannerCopy.settings.targetings = updatedTargetings;\n return bannerCopy;\n};\n\nexport default updateTargetings;\n"],"mappings":";;;;;;;;;;;;;AAAA;;AAEA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,MAAD,EAASC,KAAT,EAAmB;EAC1C,IAAMC,UAAU,GAAG,
|
|
1
|
+
{"version":3,"file":"update-targetings.js","names":["updateTargetings","banner","count","bannerCopy","cloneDeep","targetings","settings","posn","updatedTargetings"],"sources":["../../../src/hooks/helpers/update-targetings.js"],"sourcesContent":["import cloneDeep from 'lodash.clonedeep';\n\nconst updateTargetings = (banner, count) => {\n const bannerCopy = cloneDeep(banner);\n const {\n settings: { targetings }\n } = bannerCopy;\n const posn = `posn=${count + 1}`;\n const updatedTargetings = targetings ? `${targetings},${posn}` : posn;\n bannerCopy.settings.targetings = updatedTargetings;\n return bannerCopy;\n};\n\nexport default updateTargetings;\n"],"mappings":";;;;;;;;;;;;;AAAA;;AAEA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,MAAD,EAASC,KAAT,EAAmB;EAC1C,IAAMC,UAAU,GAAG,IAAAC,kBAAA,EAAUH,MAAV,CAAnB;EACA,IACcI,UADd,GAEIF,UAFJ,CACEG,QADF,CACcD,UADd;EAGA,IAAME,IAAI,kBAAWL,KAAK,GAAG,CAAnB,CAAV;EACA,IAAMM,iBAAiB,GAAGH,UAAU,aAAMA,UAAN,cAAoBE,IAApB,IAA6BA,IAAjE;EACAJ,UAAU,CAACG,QAAX,CAAoBD,UAApB,GAAiCG,iBAAjC;EACA,OAAOL,UAAP;AACD,CATD;;eAWeH,gB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-banner-insertion.js","names":["useBannerInsertion","component","name","parsedTextBlock","bannerContext","BannerContext","banners","length","validatdParsedTextBlock","Array","isArray","componentName"],"sources":["../../src/hooks/use-banner-insertion.js"],"sourcesContent":["import { useContext } from 'react';\nimport { BannerContext } from '../BannerContext';\nimport injectTextblockBanners from './helpers/inject-textblock-banners';\n\nconst useBannerInsertion = component => {\n const { name, parsedTextBlock } = component;\n const bannerContext = useContext(BannerContext);\n const { banners } = bannerContext || {};\n\n if (!banners || !banners.length) return parsedTextBlock;\n\n const validatdParsedTextBlock = Array.isArray(parsedTextBlock)\n ? parsedTextBlock\n : [parsedTextBlock];\n\n return injectTextblockBanners({\n componentName: name,\n parsedTextBlock: validatdParsedTextBlock,\n bannerContext\n });\n};\n\nexport default useBannerInsertion;\n"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA,IAAMA,kBAAkB,GAAG,SAArBA,kBAAqB,CAAAC,SAAS,EAAI;EACtC,IAAQC,IAAR,GAAkCD,SAAlC,CAAQC,IAAR;EAAA,IAAcC,eAAd,GAAkCF,SAAlC,CAAcE,eAAd;EACA,IAAMC,aAAa,GAAG,
|
|
1
|
+
{"version":3,"file":"use-banner-insertion.js","names":["useBannerInsertion","component","name","parsedTextBlock","bannerContext","useContext","BannerContext","banners","length","validatdParsedTextBlock","Array","isArray","injectTextblockBanners","componentName"],"sources":["../../src/hooks/use-banner-insertion.js"],"sourcesContent":["import { useContext } from 'react';\nimport { BannerContext } from '../BannerContext';\nimport injectTextblockBanners from './helpers/inject-textblock-banners';\n\nconst useBannerInsertion = component => {\n const { name, parsedTextBlock } = component;\n const bannerContext = useContext(BannerContext);\n const { banners } = bannerContext || {};\n\n if (!banners || !banners.length) return parsedTextBlock;\n\n const validatdParsedTextBlock = Array.isArray(parsedTextBlock)\n ? parsedTextBlock\n : [parsedTextBlock];\n\n return injectTextblockBanners({\n componentName: name,\n parsedTextBlock: validatdParsedTextBlock,\n bannerContext\n });\n};\n\nexport default useBannerInsertion;\n"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA,IAAMA,kBAAkB,GAAG,SAArBA,kBAAqB,CAAAC,SAAS,EAAI;EACtC,IAAQC,IAAR,GAAkCD,SAAlC,CAAQC,IAAR;EAAA,IAAcC,eAAd,GAAkCF,SAAlC,CAAcE,eAAd;EACA,IAAMC,aAAa,GAAG,IAAAC,iBAAA,EAAWC,4BAAX,CAAtB;;EACA,WAAoBF,aAAa,IAAI,EAArC;EAAA,IAAQG,OAAR,QAAQA,OAAR;;EAEA,IAAI,CAACA,OAAD,IAAY,CAACA,OAAO,CAACC,MAAzB,EAAiC,OAAOL,eAAP;EAEjC,IAAMM,uBAAuB,GAAGC,KAAK,CAACC,OAAN,CAAcR,eAAd,IAC5BA,eAD4B,GAE5B,CAACA,eAAD,CAFJ;EAIA,OAAO,IAAAS,kCAAA,EAAuB;IAC5BC,aAAa,EAAEX,IADa;IAE5BC,eAAe,EAAEM,uBAFW;IAG5BL,aAAa,EAAbA;EAH4B,CAAvB,CAAP;AAKD,CAhBD;;eAkBeJ,kB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-check-mobile-screen.js","names":["defaultWidth","useCheckMobileScreen","window","innerWidth","initialWidth","width","setWidth","handleWindowSizeChange","addEventListener","removeEventListener","MOBILE_WIDTH"],"sources":["../../src/hooks/use-check-mobile-screen.js"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { MOBILE_WIDTH } from '../constants';\n\n// will be updated after first render to help with server/client mismatch\nlet defaultWidth = 0;\n\nconst useCheckMobileScreen = () => {\n const { innerWidth: initialWidth = defaultWidth } = typeof window !== 'undefined' ? window : {};\n const [width, setWidth] = useState(defaultWidth);\n defaultWidth = width;\n\n const handleWindowSizeChange = () => {\n setWidth(window.innerWidth);\n };\n\n useEffect(() => {\n window.addEventListener('resize', handleWindowSizeChange);\n return () => {\n window.removeEventListener('resize', handleWindowSizeChange);\n };\n }, []);\n\n useEffect(\n () => {\n if (!defaultWidth) {\n setWidth(initialWidth);\n }\n },\n [initialWidth, width]\n );\n\n return width <= MOBILE_WIDTH;\n};\n\nexport default useCheckMobileScreen;\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AAEA;AACA,IAAIA,YAAY,GAAG,CAAnB;;AAEA,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,GAAM;EACjC,WAAoD,OAAOC,MAAP,KAAkB,WAAlB,GAAgCA,MAAhC,GAAyC,EAA7F;EAAA,2BAAQC,UAAR;EAAA,IAAoBC,YAApB,gCAAmCJ,YAAnC;;EACA,gBAA0B,
|
|
1
|
+
{"version":3,"file":"use-check-mobile-screen.js","names":["defaultWidth","useCheckMobileScreen","window","innerWidth","initialWidth","useState","width","setWidth","handleWindowSizeChange","useEffect","addEventListener","removeEventListener","MOBILE_WIDTH"],"sources":["../../src/hooks/use-check-mobile-screen.js"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { MOBILE_WIDTH } from '../constants';\n\n// will be updated after first render to help with server/client mismatch\nlet defaultWidth = 0;\n\nconst useCheckMobileScreen = () => {\n const { innerWidth: initialWidth = defaultWidth } = typeof window !== 'undefined' ? window : {};\n const [width, setWidth] = useState(defaultWidth);\n defaultWidth = width;\n\n const handleWindowSizeChange = () => {\n setWidth(window.innerWidth);\n };\n\n useEffect(() => {\n window.addEventListener('resize', handleWindowSizeChange);\n return () => {\n window.removeEventListener('resize', handleWindowSizeChange);\n };\n }, []);\n\n useEffect(\n () => {\n if (!defaultWidth) {\n setWidth(initialWidth);\n }\n },\n [initialWidth, width]\n );\n\n return width <= MOBILE_WIDTH;\n};\n\nexport default useCheckMobileScreen;\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AAEA;AACA,IAAIA,YAAY,GAAG,CAAnB;;AAEA,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,GAAM;EACjC,WAAoD,OAAOC,MAAP,KAAkB,WAAlB,GAAgCA,MAAhC,GAAyC,EAA7F;EAAA,2BAAQC,UAAR;EAAA,IAAoBC,YAApB,gCAAmCJ,YAAnC;;EACA,gBAA0B,IAAAK,eAAA,EAASL,YAAT,CAA1B;EAAA;EAAA,IAAOM,KAAP;EAAA,IAAcC,QAAd;;EACAP,YAAY,GAAGM,KAAf;;EAEA,IAAME,sBAAsB,GAAG,SAAzBA,sBAAyB,GAAM;IACnCD,QAAQ,CAACL,MAAM,CAACC,UAAR,CAAR;EACD,CAFD;;EAIA,IAAAM,gBAAA,EAAU,YAAM;IACdP,MAAM,CAACQ,gBAAP,CAAwB,QAAxB,EAAkCF,sBAAlC;IACA,OAAO,YAAM;MACXN,MAAM,CAACS,mBAAP,CAA2B,QAA3B,EAAqCH,sBAArC;IACD,CAFD;EAGD,CALD,EAKG,EALH;EAOA,IAAAC,gBAAA,EACE,YAAM;IACJ,IAAI,CAACT,YAAL,EAAmB;MACjBO,QAAQ,CAACH,YAAD,CAAR;IACD;EACF,CALH,EAME,CAACA,YAAD,EAAeE,KAAf,CANF;EASA,OAAOA,KAAK,IAAIM,uBAAhB;AACD,CA1BD;;eA4BeX,oB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-get-entity-schema.js","names":["useGetEntitySchema","identifier","skipCondition","client","skip","shouldSkip","cacheData","variables","ALL","readQuery","query","getEntitySchema","err","data","loading","error"],"sources":["../../src/hooks/use-get-entity-schema.js"],"sourcesContent":["import { useQuery, useApolloClient } from '@apollo/client';\nimport { useState } from 'react';\nimport { getEntitySchema } from '../application/query';\nimport { ALL } from '../constants';\n\nfunction useGetEntitySchema(identifier, skipCondition = false) {\n const client = useApolloClient();\n const [skip] = useState(!identifier || typeof identifier !== 'string' || skipCondition);\n let shouldSkip = skip;\n let cacheData = {};\n const variables = { identifier: identifier === ALL ? '' : identifier };\n if (!shouldSkip) {\n try {\n cacheData = client.readQuery({\n query: getEntitySchema,\n variables\n });\n shouldSkip = true;\n } catch (err) {\n shouldSkip = false;\n }\n }\n const { data = cacheData, loading, error } = useQuery(getEntitySchema, {\n variables,\n skip: shouldSkip\n });\n return { data, loading, error };\n}\nexport default useGetEntitySchema;\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA,SAASA,kBAAT,CAA4BC,UAA5B,EAA+D;EAAA,IAAvBC,aAAuB,uEAAP,KAAO;EAC7D,IAAMC,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"use-get-entity-schema.js","names":["useGetEntitySchema","identifier","skipCondition","client","useApolloClient","useState","skip","shouldSkip","cacheData","variables","ALL","readQuery","query","getEntitySchema","err","useQuery","data","loading","error"],"sources":["../../src/hooks/use-get-entity-schema.js"],"sourcesContent":["import { useQuery, useApolloClient } from '@apollo/client';\nimport { useState } from 'react';\nimport { getEntitySchema } from '../application/query';\nimport { ALL } from '../constants';\n\nfunction useGetEntitySchema(identifier, skipCondition = false) {\n const client = useApolloClient();\n const [skip] = useState(!identifier || typeof identifier !== 'string' || skipCondition);\n let shouldSkip = skip;\n let cacheData = {};\n const variables = { identifier: identifier === ALL ? '' : identifier };\n if (!shouldSkip) {\n try {\n cacheData = client.readQuery({\n query: getEntitySchema,\n variables\n });\n shouldSkip = true;\n } catch (err) {\n shouldSkip = false;\n }\n }\n const { data = cacheData, loading, error } = useQuery(getEntitySchema, {\n variables,\n skip: shouldSkip\n });\n return { data, loading, error };\n}\nexport default useGetEntitySchema;\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA,SAASA,kBAAT,CAA4BC,UAA5B,EAA+D;EAAA,IAAvBC,aAAuB,uEAAP,KAAO;EAC7D,IAAMC,MAAM,GAAG,IAAAC,uBAAA,GAAf;;EACA,gBAAe,IAAAC,eAAA,EAAS,CAACJ,UAAD,IAAe,OAAOA,UAAP,KAAsB,QAArC,IAAiDC,aAA1D,CAAf;EAAA;EAAA,IAAOI,IAAP;;EACA,IAAIC,UAAU,GAAGD,IAAjB;EACA,IAAIE,SAAS,GAAG,EAAhB;EACA,IAAMC,SAAS,GAAG;IAAER,UAAU,EAAEA,UAAU,KAAKS,cAAf,GAAqB,EAArB,GAA0BT;EAAxC,CAAlB;;EACA,IAAI,CAACM,UAAL,EAAiB;IACf,IAAI;MACFC,SAAS,GAAGL,MAAM,CAACQ,SAAP,CAAiB;QAC3BC,KAAK,EAAEC,sBADoB;QAE3BJ,SAAS,EAATA;MAF2B,CAAjB,CAAZ;MAIAF,UAAU,GAAG,IAAb;IACD,CAND,CAME,OAAOO,GAAP,EAAY;MACZP,UAAU,GAAG,KAAb;IACD;EACF;;EACD,gBAA6C,IAAAQ,gBAAA,EAASF,sBAAT,EAA0B;IACrEJ,SAAS,EAATA,SADqE;IAErEH,IAAI,EAAEC;EAF+D,CAA1B,CAA7C;EAAA,+BAAQS,IAAR;EAAA,IAAQA,IAAR,+BAAeR,SAAf;EAAA,IAA0BS,OAA1B,aAA0BA,OAA1B;EAAA,IAAmCC,KAAnC,aAAmCA,KAAnC;;EAIA,OAAO;IAAEF,IAAI,EAAJA,IAAF;IAAQC,OAAO,EAAPA,OAAR;IAAiBC,KAAK,EAALA;EAAjB,CAAP;AACD;;eACclB,kB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-get-entity-schemas-as-obj.js","names":["useGetEntitySchemasAsObj","identifiers","shouldSkip","uniqueIdentifiers","Set","filter","Boolean","skip","length","queryIdentifiers"],"sources":["../../src/hooks/use-get-entity-schemas-as-obj.js"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { getMultipleSchema } from '../application/query';\n\nfunction useGetEntitySchemasAsObj(identifiers, shouldSkip = false) {\n const uniqueIdentifiers = [...new Set(identifiers)].filter(Boolean);\n const skip = shouldSkip || uniqueIdentifiers.length < 1;\n // placeholder required so query isn't empty but will be skipped\n const queryIdentifiers = skip ? ['placeholder'] : uniqueIdentifiers;\n return useQuery(getMultipleSchema(queryIdentifiers), { skip });\n}\nexport default useGetEntitySchemasAsObj;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA,SAASA,wBAAT,CAAkCC,WAAlC,EAAmE;EAAA,IAApBC,UAAoB,uEAAP,KAAO;EACjE,IAAMC,iBAAiB,GAAG,oCAAI,IAAIC,GAAJ,CAAQH,WAAR,CAAJ,EAA0BI,MAA1B,CAAiCC,OAAjC,CAA1B;EACA,IAAMC,IAAI,GAAGL,UAAU,IAAIC,iBAAiB,CAACK,MAAlB,GAA2B,CAAtD,CAFiE,CAGjE;;EACA,IAAMC,gBAAgB,GAAGF,IAAI,GAAG,CAAC,aAAD,CAAH,GAAqBJ,iBAAlD;EACA,OAAO,
|
|
1
|
+
{"version":3,"file":"use-get-entity-schemas-as-obj.js","names":["useGetEntitySchemasAsObj","identifiers","shouldSkip","uniqueIdentifiers","Set","filter","Boolean","skip","length","queryIdentifiers","useQuery","getMultipleSchema"],"sources":["../../src/hooks/use-get-entity-schemas-as-obj.js"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { getMultipleSchema } from '../application/query';\n\nfunction useGetEntitySchemasAsObj(identifiers, shouldSkip = false) {\n const uniqueIdentifiers = [...new Set(identifiers)].filter(Boolean);\n const skip = shouldSkip || uniqueIdentifiers.length < 1;\n // placeholder required so query isn't empty but will be skipped\n const queryIdentifiers = skip ? ['placeholder'] : uniqueIdentifiers;\n return useQuery(getMultipleSchema(queryIdentifiers), { skip });\n}\nexport default useGetEntitySchemasAsObj;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA,SAASA,wBAAT,CAAkCC,WAAlC,EAAmE;EAAA,IAApBC,UAAoB,uEAAP,KAAO;EACjE,IAAMC,iBAAiB,GAAG,oCAAI,IAAIC,GAAJ,CAAQH,WAAR,CAAJ,EAA0BI,MAA1B,CAAiCC,OAAjC,CAA1B;EACA,IAAMC,IAAI,GAAGL,UAAU,IAAIC,iBAAiB,CAACK,MAAlB,GAA2B,CAAtD,CAFiE,CAGjE;;EACA,IAAMC,gBAAgB,GAAGF,IAAI,GAAG,CAAC,aAAD,CAAH,GAAqBJ,iBAAlD;EACA,OAAO,IAAAO,gBAAA,EAAS,IAAAC,wBAAA,EAAkBF,gBAAlB,CAAT,EAA8C;IAAEF,IAAI,EAAJA;EAAF,CAA9C,CAAP;AACD;;eACcP,wB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-get-image-id-from-relation.js","names":["useGetImageIdFromRelation","id","imageRelation","actions","isUsingRelationImage","isPreview","skip","Object","keys","length","imageRelationData","split","relationName","relationProp","getPublished","get","getAction","props","variables","data","loading","error"],"sources":["../../src/hooks/use-get-image-id-from-relation.js"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { generateSingleItemQuery } from '../application/query';\n\nfunction useGetImageIdFromRelation(id, imageRelation, actions, isUsingRelationImage, isPreview) {\n const skip =\n !id || typeof id !== 'string' || !isUsingRelationImage || !Object.keys(actions).length;\n\n const [imageRelationData = ''] = imageRelation;\n const [relationName = '', relationProp = ''] = imageRelationData.split('.');\n const { getPublished, get } = actions;\n const getAction = isPreview ? get : getPublished || get;\n\n const props = imageRelationData ? `${relationName} { ${relationProp} }` : 'id';\n const { data = {}, loading, error } = useQuery(generateSingleItemQuery(getAction, props), {\n variables: { id },\n skip\n });\n return { data, loading, error };\n}\n\nexport default useGetImageIdFromRelation;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA,SAASA,yBAAT,CAAmCC,EAAnC,EAAuCC,aAAvC,EAAsDC,OAAtD,EAA+DC,oBAA/D,EAAqFC,SAArF,EAAgG;EAC9F,IAAMC,IAAI,GACR,CAACL,EAAD,IAAO,OAAOA,EAAP,KAAc,QAArB,IAAiC,CAACG,oBAAlC,IAA0D,CAACG,MAAM,CAACC,IAAP,CAAYL,OAAZ,EAAqBM,MADlF;;EAGA,qDAAiCP,aAAjC;EAAA;EAAA,IAAOQ,iBAAP,gCAA2B,EAA3B;;EACA,4BAA+CA,iBAAiB,CAACC,KAAlB,CAAwB,GAAxB,CAA/C;EAAA;EAAA;EAAA,IAAOC,YAAP,uCAAsB,EAAtB;EAAA;EAAA,IAA0BC,YAA1B,uCAAyC,EAAzC;;EACA,IAAQC,YAAR,GAA8BX,OAA9B,CAAQW,YAAR;EAAA,IAAsBC,GAAtB,GAA8BZ,OAA9B,CAAsBY,GAAtB;EACA,IAAMC,SAAS,GAAGX,SAAS,GAAGU,GAAH,GAASD,YAAY,IAAIC,GAApD;EAEA,IAAME,KAAK,GAAGP,iBAAiB,aAAME,YAAN,gBAAwBC,YAAxB,UAA2C,IAA1E;;EACA,gBAAsC,
|
|
1
|
+
{"version":3,"file":"use-get-image-id-from-relation.js","names":["useGetImageIdFromRelation","id","imageRelation","actions","isUsingRelationImage","isPreview","skip","Object","keys","length","imageRelationData","split","relationName","relationProp","getPublished","get","getAction","props","useQuery","generateSingleItemQuery","variables","data","loading","error"],"sources":["../../src/hooks/use-get-image-id-from-relation.js"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { generateSingleItemQuery } from '../application/query';\n\nfunction useGetImageIdFromRelation(id, imageRelation, actions, isUsingRelationImage, isPreview) {\n const skip =\n !id || typeof id !== 'string' || !isUsingRelationImage || !Object.keys(actions).length;\n\n const [imageRelationData = ''] = imageRelation;\n const [relationName = '', relationProp = ''] = imageRelationData.split('.');\n const { getPublished, get } = actions;\n const getAction = isPreview ? get : getPublished || get;\n\n const props = imageRelationData ? `${relationName} { ${relationProp} }` : 'id';\n const { data = {}, loading, error } = useQuery(generateSingleItemQuery(getAction, props), {\n variables: { id },\n skip\n });\n return { data, loading, error };\n}\n\nexport default useGetImageIdFromRelation;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA,SAASA,yBAAT,CAAmCC,EAAnC,EAAuCC,aAAvC,EAAsDC,OAAtD,EAA+DC,oBAA/D,EAAqFC,SAArF,EAAgG;EAC9F,IAAMC,IAAI,GACR,CAACL,EAAD,IAAO,OAAOA,EAAP,KAAc,QAArB,IAAiC,CAACG,oBAAlC,IAA0D,CAACG,MAAM,CAACC,IAAP,CAAYL,OAAZ,EAAqBM,MADlF;;EAGA,qDAAiCP,aAAjC;EAAA;EAAA,IAAOQ,iBAAP,gCAA2B,EAA3B;;EACA,4BAA+CA,iBAAiB,CAACC,KAAlB,CAAwB,GAAxB,CAA/C;EAAA;EAAA;EAAA,IAAOC,YAAP,uCAAsB,EAAtB;EAAA;EAAA,IAA0BC,YAA1B,uCAAyC,EAAzC;;EACA,IAAQC,YAAR,GAA8BX,OAA9B,CAAQW,YAAR;EAAA,IAAsBC,GAAtB,GAA8BZ,OAA9B,CAAsBY,GAAtB;EACA,IAAMC,SAAS,GAAGX,SAAS,GAAGU,GAAH,GAASD,YAAY,IAAIC,GAApD;EAEA,IAAME,KAAK,GAAGP,iBAAiB,aAAME,YAAN,gBAAwBC,YAAxB,UAA2C,IAA1E;;EACA,gBAAsC,IAAAK,gBAAA,EAAS,IAAAC,8BAAA,EAAwBH,SAAxB,EAAmCC,KAAnC,CAAT,EAAoD;IACxFG,SAAS,EAAE;MAAEnB,EAAE,EAAFA;IAAF,CAD6E;IAExFK,IAAI,EAAJA;EAFwF,CAApD,CAAtC;EAAA,+BAAQe,IAAR;EAAA,IAAQA,IAAR,+BAAe,EAAf;EAAA,IAAmBC,OAAnB,aAAmBA,OAAnB;EAAA,IAA4BC,KAA5B,aAA4BA,KAA5B;;EAIA,OAAO;IAAEF,IAAI,EAAJA,IAAF;IAAQC,OAAO,EAAPA,OAAR;IAAiBC,KAAK,EAALA;EAAjB,CAAP;AACD;;eAEcvB,yB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-get-images.js","names":["shouldSkip","id","Array","isArray","length","getWhereQuery","inClause","where","_in","useGetImages","hasMultipleIds","skip","variables","currentQuery","getFiles","getFileById","data","loading","error"],"sources":["../../src/hooks/use-get-images.js"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { getFiles, getFileById } from '../application/query';\n\nfunction shouldSkip(id) {\n return !id || (Array.isArray(id) && !id.length);\n}\n\nconst getWhereQuery = id => {\n const inClause = Array.isArray(id) ? id : [id];\n return { where: { id: { _in: inClause } } };\n};\n\nconst useGetImages = (id, hasMultipleIds = false) => {\n const skip = shouldSkip(id);\n const variables = hasMultipleIds ? getWhereQuery(id) : { id };\n const currentQuery = hasMultipleIds ? getFiles : getFileById;\n const { data = {}, loading, error } = useQuery(currentQuery, { variables, skip });\n\n return { data, loading, error };\n};\n\nexport default useGetImages;\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAEA,SAASA,UAAT,CAAoBC,EAApB,EAAwB;EACtB,OAAO,CAACA,EAAD,IAAQC,KAAK,CAACC,OAAN,CAAcF,EAAd,KAAqB,CAACA,EAAE,CAACG,MAAxC;AACD;;AAED,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAAAJ,EAAE,EAAI;EAC1B,IAAMK,QAAQ,GAAGJ,KAAK,CAACC,OAAN,CAAcF,EAAd,IAAoBA,EAApB,GAAyB,CAACA,EAAD,CAA1C;EACA,OAAO;IAAEM,KAAK,EAAE;MAAEN,EAAE,EAAE;QAAEO,GAAG,EAAEF;MAAP;IAAN;EAAT,CAAP;AACD,CAHD;;AAKA,IAAMG,YAAY,GAAG,SAAfA,YAAe,CAACR,EAAD,EAAgC;EAAA,IAA3BS,cAA2B,uEAAV,KAAU;EACnD,IAAMC,IAAI,GAAGX,UAAU,CAACC,EAAD,CAAvB;EACA,IAAMW,SAAS,GAAGF,cAAc,GAAGL,aAAa,CAACJ,EAAD,CAAhB,GAAuB;IAAEA,EAAE,EAAFA;EAAF,CAAvD;EACA,IAAMY,YAAY,GAAGH,cAAc,GAAGI,eAAH,GAAcC,kBAAjD;;EACA,gBAAsC,
|
|
1
|
+
{"version":3,"file":"use-get-images.js","names":["shouldSkip","id","Array","isArray","length","getWhereQuery","inClause","where","_in","useGetImages","hasMultipleIds","skip","variables","currentQuery","getFiles","getFileById","useQuery","data","loading","error"],"sources":["../../src/hooks/use-get-images.js"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { getFiles, getFileById } from '../application/query';\n\nfunction shouldSkip(id) {\n return !id || (Array.isArray(id) && !id.length);\n}\n\nconst getWhereQuery = id => {\n const inClause = Array.isArray(id) ? id : [id];\n return { where: { id: { _in: inClause } } };\n};\n\nconst useGetImages = (id, hasMultipleIds = false) => {\n const skip = shouldSkip(id);\n const variables = hasMultipleIds ? getWhereQuery(id) : { id };\n const currentQuery = hasMultipleIds ? getFiles : getFileById;\n const { data = {}, loading, error } = useQuery(currentQuery, { variables, skip });\n\n return { data, loading, error };\n};\n\nexport default useGetImages;\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAEA,SAASA,UAAT,CAAoBC,EAApB,EAAwB;EACtB,OAAO,CAACA,EAAD,IAAQC,KAAK,CAACC,OAAN,CAAcF,EAAd,KAAqB,CAACA,EAAE,CAACG,MAAxC;AACD;;AAED,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAAAJ,EAAE,EAAI;EAC1B,IAAMK,QAAQ,GAAGJ,KAAK,CAACC,OAAN,CAAcF,EAAd,IAAoBA,EAApB,GAAyB,CAACA,EAAD,CAA1C;EACA,OAAO;IAAEM,KAAK,EAAE;MAAEN,EAAE,EAAE;QAAEO,GAAG,EAAEF;MAAP;IAAN;EAAT,CAAP;AACD,CAHD;;AAKA,IAAMG,YAAY,GAAG,SAAfA,YAAe,CAACR,EAAD,EAAgC;EAAA,IAA3BS,cAA2B,uEAAV,KAAU;EACnD,IAAMC,IAAI,GAAGX,UAAU,CAACC,EAAD,CAAvB;EACA,IAAMW,SAAS,GAAGF,cAAc,GAAGL,aAAa,CAACJ,EAAD,CAAhB,GAAuB;IAAEA,EAAE,EAAFA;EAAF,CAAvD;EACA,IAAMY,YAAY,GAAGH,cAAc,GAAGI,eAAH,GAAcC,kBAAjD;;EACA,gBAAsC,IAAAC,gBAAA,EAASH,YAAT,EAAuB;IAAED,SAAS,EAATA,SAAF;IAAaD,IAAI,EAAJA;EAAb,CAAvB,CAAtC;EAAA,+BAAQM,IAAR;EAAA,IAAQA,IAAR,+BAAe,EAAf;EAAA,IAAmBC,OAAnB,aAAmBA,OAAnB;EAAA,IAA4BC,KAA5B,aAA4BA,KAA5B;;EAEA,OAAO;IAAEF,IAAI,EAAJA,IAAF;IAAQC,OAAO,EAAPA,OAAR;IAAiBC,KAAK,EAALA;EAAjB,CAAP;AACD,CAPD;;eASeV,Y"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-get-single-entity-schema.js","names":["useGetSingleEntitySchema","id","skip","getSingleEntitySchema","variables","loading","error","data"],"sources":["../../src/hooks/use-get-single-entity-schema.js"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { getSingleEntitySchema } from '../application/query';\n\nconst useGetSingleEntitySchema = (id, skip = false) => {\n const { loading, error, data } = useQuery(getSingleEntitySchema, {\n variables: {\n id\n },\n skip\n });\n\n return { loading, error, data };\n};\n\nexport default useGetSingleEntitySchema;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,wBAAwB,GAAG,SAA3BA,wBAA2B,CAACC,EAAD,EAAsB;EAAA,IAAjBC,IAAiB,uEAAV,KAAU;;EACrD,gBAAiC,
|
|
1
|
+
{"version":3,"file":"use-get-single-entity-schema.js","names":["useGetSingleEntitySchema","id","skip","useQuery","getSingleEntitySchema","variables","loading","error","data"],"sources":["../../src/hooks/use-get-single-entity-schema.js"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { getSingleEntitySchema } from '../application/query';\n\nconst useGetSingleEntitySchema = (id, skip = false) => {\n const { loading, error, data } = useQuery(getSingleEntitySchema, {\n variables: {\n id\n },\n skip\n });\n\n return { loading, error, data };\n};\n\nexport default useGetSingleEntitySchema;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,wBAAwB,GAAG,SAA3BA,wBAA2B,CAACC,EAAD,EAAsB;EAAA,IAAjBC,IAAiB,uEAAV,KAAU;;EACrD,gBAAiC,IAAAC,gBAAA,EAASC,4BAAT,EAAgC;IAC/DC,SAAS,EAAE;MACTJ,EAAE,EAAFA;IADS,CADoD;IAI/DC,IAAI,EAAJA;EAJ+D,CAAhC,CAAjC;EAAA,IAAQI,OAAR,aAAQA,OAAR;EAAA,IAAiBC,KAAjB,aAAiBA,KAAjB;EAAA,IAAwBC,IAAxB,aAAwBA,IAAxB;;EAOA,OAAO;IAAEF,OAAO,EAAPA,OAAF;IAAWC,KAAK,EAALA,KAAX;IAAkBC,IAAI,EAAJA;EAAlB,CAAP;AACD,CATD;;eAWeR,wB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-page-builder.js","names":["usePageBuilder","data","page","setPage","getBuiltComponents","components","length"],"sources":["../../src/hooks/use-page-builder.js"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport buildPBComponents from './helpers';\n\nfunction usePageBuilder(data) {\n const [page, setPage] = useState([]);\n\n useEffect(\n () => {\n async function getBuiltComponents() {\n const components = buildPBComponents(data);\n\n setPage(components);\n }\n\n if (data && !page.length) {\n getBuiltComponents();\n }\n },\n [data, page]\n );\n\n return page;\n}\n\nexport default usePageBuilder;\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA,SAASA,cAAT,CAAwBC,IAAxB,EAA8B;EAC5B,gBAAwB,
|
|
1
|
+
{"version":3,"file":"use-page-builder.js","names":["usePageBuilder","data","useState","page","setPage","useEffect","getBuiltComponents","components","buildPBComponents","length"],"sources":["../../src/hooks/use-page-builder.js"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport buildPBComponents from './helpers';\n\nfunction usePageBuilder(data) {\n const [page, setPage] = useState([]);\n\n useEffect(\n () => {\n async function getBuiltComponents() {\n const components = buildPBComponents(data);\n\n setPage(components);\n }\n\n if (data && !page.length) {\n getBuiltComponents();\n }\n },\n [data, page]\n );\n\n return page;\n}\n\nexport default usePageBuilder;\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA,SAASA,cAAT,CAAwBC,IAAxB,EAA8B;EAC5B,gBAAwB,IAAAC,eAAA,EAAS,EAAT,CAAxB;EAAA;EAAA,IAAOC,IAAP;EAAA,IAAaC,OAAb;;EAEA,IAAAC,gBAAA,EACE,YAAM;IAAA,SACWC,kBADX;MAAA;IAAA;;IAAA;MAAA,oGACJ;QAAA;QAAA;UAAA;YAAA;cAAA;gBACQC,UADR,GACqB,IAAAC,mBAAA,EAAkBP,IAAlB,CADrB;gBAGEG,OAAO,CAACG,UAAD,CAAP;;cAHF;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CADI;MAAA;IAAA;;IAOJ,IAAIN,IAAI,IAAI,CAACE,IAAI,CAACM,MAAlB,EAA0B;MACxBH,kBAAkB;IACnB;EACF,CAXH,EAYE,CAACL,IAAD,EAAOE,IAAP,CAZF;EAeA,OAAOA,IAAP;AACD;;eAEcH,c"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-class-modifiers.js","names":["BUTTON_TYPE","CLASS_MODIFIERS","DEFAULT","DESKTOP","GTM_CLASS_NAME","HIDE","ICON","MOBILE","MODIFIER","SIZE","STICKY","STYLE","TABLET","WIDTH","ALIGNMENT","commonProps","responsiveProps","buttonProps","iconProps","commonAttributes","props","prefix","supportedTypes","row","column","button","BUTTON","icon","ICON_BUTTON","textBlock","banner","image","hero","video","list","code","CODE","getClassModifiers","type","supportedProps","defaultValues","COMPONENTS_DEFAULT_VALUES","modifiers","map","prop","propValue","stringValue","isResponsiveProp","includes","BUTTON_ICON","undefined","LINK","filter","Boolean","unshift","join"],"sources":["../../src/utils/get-class-modifiers.js"],"sourcesContent":["import { BUTTON, BUTTON_ICON, CLASS_MODIFIERS, ICON_BUTTON, LINK, CODE } from '../constants';\nimport COMPONENTS_DEFAULT_VALUES from '../constants/componentsDefaultValues';\n\nconst {\n BUTTON_TYPE,\n DEFAULT,\n DESKTOP,\n GTM_CLASS_NAME,\n HIDE,\n ICON,\n MOBILE,\n MODIFIER,\n SIZE,\n STICKY,\n STYLE,\n TABLET,\n WIDTH,\n ALIGNMENT\n} = CLASS_MODIFIERS;\nconst commonProps = [GTM_CLASS_NAME, MODIFIER];\nconst responsiveProps = [DESKTOP, TABLET, MOBILE];\nconst buttonProps = [SIZE, BUTTON_TYPE, ICON, STYLE, ALIGNMENT, ...commonProps];\nconst iconProps = [BUTTON_TYPE, ...commonProps];\n\nconst commonAttributes = { props: commonProps, prefix: null };\n\nconst supportedTypes = {\n row: { props: [WIDTH, ...responsiveProps, ...commonProps] },\n column: { props: [WIDTH, STICKY, ...responsiveProps, ...commonProps] },\n button: {\n props: buttonProps,\n prefix: BUTTON\n },\n icon: { props: iconProps, prefix: ICON_BUTTON },\n textBlock: { ...commonAttributes },\n banner: { ...commonAttributes },\n image: { ...commonAttributes },\n hero: { ...commonAttributes },\n video: { ...commonAttributes },\n list: { ...commonAttributes },\n code: { ...commonAttributes, prefix: CODE }\n};\n\nexport default function getClassModifiers(type, props) {\n const { props: supportedProps, prefix } = supportedTypes[type] || {};\n const defaultValues = COMPONENTS_DEFAULT_VALUES[type] || {};\n if (!supportedProps) return '';\n\n const modifiers = supportedProps\n .map(prop => {\n const propValue = props[prop];\n const stringValue = typeof propValue === 'boolean' ? prop : propValue;\n const isResponsiveProp = responsiveProps.includes(prop);\n if (prop === ICON) return propValue ? BUTTON_ICON : '';\n if (prop === MODIFIER && propValue) return `${propValue}`;\n if (propValue === DEFAULT || stringValue === type) return '';\n if (isResponsiveProp) return propValue ? '' : `${HIDE}-${prop}`;\n if (propValue === null || propValue === undefined) return defaultValues[prop] || '';\n if (prop === WIDTH || prop === LINK) return `${type}--${propValue}`;\n if (prop === GTM_CLASS_NAME) return `${propValue}`;\n if (prop === STICKY) return propValue ? `${type}--${stringValue}` : '';\n\n return stringValue ? `${type}--${stringValue}` : '';\n })\n .filter(Boolean);\n if (prefix) modifiers.unshift(prefix);\n\n return modifiers.join(' ');\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;AAEA,IACEA,WADF,GAeIC,0BAfJ,CACED,WADF;AAAA,IAEEE,OAFF,GAeID,0BAfJ,CAEEC,OAFF;AAAA,IAGEC,OAHF,GAeIF,0BAfJ,CAGEE,OAHF;AAAA,IAIEC,cAJF,GAeIH,0BAfJ,CAIEG,cAJF;AAAA,IAKEC,IALF,GAeIJ,0BAfJ,CAKEI,IALF;AAAA,IAMEC,IANF,GAeIL,0BAfJ,CAMEK,IANF;AAAA,IAOEC,MAPF,GAeIN,0BAfJ,CAOEM,MAPF;AAAA,IAQEC,QARF,GAeIP,0BAfJ,CAQEO,QARF;AAAA,IASEC,IATF,GAeIR,0BAfJ,CASEQ,IATF;AAAA,IAUEC,MAVF,GAeIT,0BAfJ,CAUES,MAVF;AAAA,IAWEC,KAXF,GAeIV,0BAfJ,CAWEU,KAXF;AAAA,IAYEC,MAZF,GAeIX,0BAfJ,CAYEW,MAZF;AAAA,IAaEC,KAbF,GAeIZ,0BAfJ,CAaEY,KAbF;AAAA,IAcEC,SAdF,GAeIb,0BAfJ,CAcEa,SAdF;AAgBA,IAAMC,WAAW,GAAG,CAACX,cAAD,EAAiBI,QAAjB,CAApB;AACA,IAAMQ,eAAe,GAAG,CAACb,OAAD,EAAUS,MAAV,EAAkBL,MAAlB,CAAxB;AACA,IAAMU,WAAW,IAAIR,IAAJ,EAAUT,WAAV,EAAuBM,IAAvB,EAA6BK,KAA7B,EAAoCG,SAApC,SAAkDC,WAAlD,CAAjB;AACA,IAAMG,SAAS,IAAIlB,WAAJ,SAAoBe,WAApB,CAAf;AAEA,IAAMI,gBAAgB,GAAG;EAAEC,KAAK,EAAEL,WAAT;EAAsBM,MAAM,EAAE;AAA9B,CAAzB;AAEA,IAAMC,cAAc,GAAG;EACrBC,GAAG,EAAE;IAAEH,KAAK,GAAGP,KAAH,SAAaG,eAAb,EAAiCD,WAAjC;EAAP,CADgB;EAErBS,MAAM,EAAE;IAAEJ,KAAK,GAAGP,KAAH,EAAUH,MAAV,SAAqBM,eAArB,EAAyCD,WAAzC;EAAP,CAFa;EAGrBU,MAAM,EAAE;IACNL,KAAK,EAAEH,WADD;IAENI,MAAM,EAAEK;EAFF,CAHa;EAOrBC,IAAI,EAAE;IAAEP,KAAK,EAAEF,SAAT;IAAoBG,MAAM,EAAEO;EAA5B,CAPe;EAQrBC,SAAS,oBAAOV,gBAAP,CARY;EASrBW,MAAM,oBAAOX,gBAAP,CATe;EAUrBY,KAAK,oBAAOZ,gBAAP,CAVgB;EAWrBa,IAAI,oBAAOb,gBAAP,CAXiB;EAYrBc,KAAK,oBAAOd,gBAAP,CAZgB;EAarBe,IAAI,oBAAOf,gBAAP,CAbiB;EAcrBgB,IAAI,kCAAOhB,gBAAP;IAAyBE,MAAM,EAAEe;EAAjC;AAdiB,CAAvB;;AAiBe,SAASC,iBAAT,CAA2BC,IAA3B,EAAiClB,KAAjC,EAAwC;EACrD,WAA0CE,cAAc,CAACgB,IAAD,CAAd,IAAwB,EAAlE;EAAA,IAAeC,cAAf,QAAQnB,KAAR;EAAA,IAA+BC,MAA/B,QAA+BA,MAA/B;;EACA,IAAMmB,aAAa,GAAGC,
|
|
1
|
+
{"version":3,"file":"get-class-modifiers.js","names":["BUTTON_TYPE","CLASS_MODIFIERS","DEFAULT","DESKTOP","GTM_CLASS_NAME","HIDE","ICON","MOBILE","MODIFIER","SIZE","STICKY","STYLE","TABLET","WIDTH","ALIGNMENT","commonProps","responsiveProps","buttonProps","iconProps","commonAttributes","props","prefix","supportedTypes","row","column","button","BUTTON","icon","ICON_BUTTON","textBlock","banner","image","hero","video","list","code","CODE","getClassModifiers","type","supportedProps","defaultValues","COMPONENTS_DEFAULT_VALUES","modifiers","map","prop","propValue","stringValue","isResponsiveProp","includes","BUTTON_ICON","undefined","LINK","filter","Boolean","unshift","join"],"sources":["../../src/utils/get-class-modifiers.js"],"sourcesContent":["import { BUTTON, BUTTON_ICON, CLASS_MODIFIERS, ICON_BUTTON, LINK, CODE } from '../constants';\nimport COMPONENTS_DEFAULT_VALUES from '../constants/componentsDefaultValues';\n\nconst {\n BUTTON_TYPE,\n DEFAULT,\n DESKTOP,\n GTM_CLASS_NAME,\n HIDE,\n ICON,\n MOBILE,\n MODIFIER,\n SIZE,\n STICKY,\n STYLE,\n TABLET,\n WIDTH,\n ALIGNMENT\n} = CLASS_MODIFIERS;\nconst commonProps = [GTM_CLASS_NAME, MODIFIER];\nconst responsiveProps = [DESKTOP, TABLET, MOBILE];\nconst buttonProps = [SIZE, BUTTON_TYPE, ICON, STYLE, ALIGNMENT, ...commonProps];\nconst iconProps = [BUTTON_TYPE, ...commonProps];\n\nconst commonAttributes = { props: commonProps, prefix: null };\n\nconst supportedTypes = {\n row: { props: [WIDTH, ...responsiveProps, ...commonProps] },\n column: { props: [WIDTH, STICKY, ...responsiveProps, ...commonProps] },\n button: {\n props: buttonProps,\n prefix: BUTTON\n },\n icon: { props: iconProps, prefix: ICON_BUTTON },\n textBlock: { ...commonAttributes },\n banner: { ...commonAttributes },\n image: { ...commonAttributes },\n hero: { ...commonAttributes },\n video: { ...commonAttributes },\n list: { ...commonAttributes },\n code: { ...commonAttributes, prefix: CODE }\n};\n\nexport default function getClassModifiers(type, props) {\n const { props: supportedProps, prefix } = supportedTypes[type] || {};\n const defaultValues = COMPONENTS_DEFAULT_VALUES[type] || {};\n if (!supportedProps) return '';\n\n const modifiers = supportedProps\n .map(prop => {\n const propValue = props[prop];\n const stringValue = typeof propValue === 'boolean' ? prop : propValue;\n const isResponsiveProp = responsiveProps.includes(prop);\n if (prop === ICON) return propValue ? BUTTON_ICON : '';\n if (prop === MODIFIER && propValue) return `${propValue}`;\n if (propValue === DEFAULT || stringValue === type) return '';\n if (isResponsiveProp) return propValue ? '' : `${HIDE}-${prop}`;\n if (propValue === null || propValue === undefined) return defaultValues[prop] || '';\n if (prop === WIDTH || prop === LINK) return `${type}--${propValue}`;\n if (prop === GTM_CLASS_NAME) return `${propValue}`;\n if (prop === STICKY) return propValue ? `${type}--${stringValue}` : '';\n\n return stringValue ? `${type}--${stringValue}` : '';\n })\n .filter(Boolean);\n if (prefix) modifiers.unshift(prefix);\n\n return modifiers.join(' ');\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-image-data.js","names":["getImageData","otherProps","data","imageData","PROPS_TO_CHECK","forEach","keyData","keyProps","value"],"sources":["../../src/utils/get-image-data.js"],"sourcesContent":["import parseHTML from 'html-react-parser';\nimport { PROPS_TO_CHECK } from '../constants';\n\nconst getImageData = (otherProps, data) => {\n const imageData = {};\n\n PROPS_TO_CHECK.forEach(([keyData, keyProps]) => {\n const value = otherProps[keyProps] || (data && data[keyData]);\n if (keyData === 'caption') {\n imageData[keyData] = value ? parseHTML(value) : '';\n return;\n }\n imageData[keyData] = value || '';\n });\n\n return imageData;\n};\n\nexport default getImageData;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,YAAY,GAAG,SAAfA,YAAe,CAACC,UAAD,EAAaC,IAAb,EAAsB;EACzC,IAAMC,SAAS,GAAG,EAAlB;;EAEAC,
|
|
1
|
+
{"version":3,"file":"get-image-data.js","names":["getImageData","otherProps","data","imageData","PROPS_TO_CHECK","forEach","keyData","keyProps","value","parseHTML"],"sources":["../../src/utils/get-image-data.js"],"sourcesContent":["import parseHTML from 'html-react-parser';\nimport { PROPS_TO_CHECK } from '../constants';\n\nconst getImageData = (otherProps, data) => {\n const imageData = {};\n\n PROPS_TO_CHECK.forEach(([keyData, keyProps]) => {\n const value = otherProps[keyProps] || (data && data[keyData]);\n if (keyData === 'caption') {\n imageData[keyData] = value ? parseHTML(value) : '';\n return;\n }\n imageData[keyData] = value || '';\n });\n\n return imageData;\n};\n\nexport default getImageData;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,YAAY,GAAG,SAAfA,YAAe,CAACC,UAAD,EAAaC,IAAb,EAAsB;EACzC,IAAMC,SAAS,GAAG,EAAlB;;EAEAC,yBAAA,CAAeC,OAAf,CAAuB,gBAAyB;IAAA;IAAA,IAAvBC,OAAuB;IAAA,IAAdC,QAAc;;IAC9C,IAAMC,KAAK,GAAGP,UAAU,CAACM,QAAD,CAAV,IAAyBL,IAAI,IAAIA,IAAI,CAACI,OAAD,CAAnD;;IACA,IAAIA,OAAO,KAAK,SAAhB,EAA2B;MACzBH,SAAS,CAACG,OAAD,CAAT,GAAqBE,KAAK,GAAG,IAAAC,2BAAA,EAAUD,KAAV,CAAH,GAAsB,EAAhD;MACA;IACD;;IACDL,SAAS,CAACG,OAAD,CAAT,GAAqBE,KAAK,IAAI,EAA9B;EACD,CAPD;;EASA,OAAOL,SAAP;AACD,CAbD;;eAeeH,Y"}
|
|
@@ -171,7 +171,7 @@ const buildPropsData = (data, props) => {
|
|
|
171
171
|
return propsWithData;
|
|
172
172
|
};
|
|
173
173
|
|
|
174
|
-
const parseArrayValues = (arr, key) => arr.map(obj => obj[key]).filter(Boolean)
|
|
174
|
+
const parseArrayValues = (arr, key) => arr.map(obj => obj[key]).filter(Boolean);
|
|
175
175
|
|
|
176
176
|
const getNestedValue = (keys, object) => {
|
|
177
177
|
const key = keys.shift();
|
|
@@ -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","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) =>\n arr\n .map(obj => obj[key])\n .filter(Boolean)\n .join(', ');\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":["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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"}
|
|
@@ -7,7 +7,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
7
7
|
|
|
8
8
|
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; }
|
|
9
9
|
|
|
10
|
-
import React, { useState, Fragment } from 'react';
|
|
10
|
+
import React, { useState, Fragment, useEffect } from 'react';
|
|
11
11
|
import { useCookies } from 'react-cookie';
|
|
12
12
|
import { useRouter } from 'next/router';
|
|
13
13
|
import classnames from 'classnames';
|
|
@@ -45,6 +45,9 @@ const Button = props => {
|
|
|
45
45
|
blaze_auth: blazeCookie
|
|
46
46
|
} = cookies;
|
|
47
47
|
const [showChildren, setShowChildren] = useState(false);
|
|
48
|
+
useEffect(() => {
|
|
49
|
+
setShowChildren(false);
|
|
50
|
+
}, [router.asPath]);
|
|
48
51
|
|
|
49
52
|
const checkIfButtonShouldRender = () => {
|
|
50
53
|
if (isLogoutButton) return !!blazeCookie;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","names":["React","useState","Fragment","useCookies","useRouter","classnames","BlazeButton","handleLogout","useApolloClient","PropTypes","bool","string","ClickWrapper","BlazeLink","withTitle","getClassModifiers","LOGOUT","renderChildren","updateChildrensParent","hasChildren","getClickWrapperOptions","Button","props","type","text","url","icon","name","style","children","clickAction","childSeoVisibility","afterClickText","otherProps","client","router","isLogoutButton","cookies","blaze_auth","blazeCookie","showChildren","setShowChildren","checkIfButtonShouldRender","logout","reload","handleClick","buttonType","modifiers","currentProps","href","title","DynamicButton","parent","itemId","itemEntity","renderedChildren","onClose","shouldUseClickWrapper","wrapperProps","Wrapper","contentClassName","propTypes","size","oneOfType","arrayOf","node","defaultProps"],"sources":["../../src/components/Button.js"],"sourcesContent":["import React, { useState, Fragment } from 'react';\nimport { useCookies } from 'react-cookie';\nimport { useRouter } from 'next/router';\nimport classnames from 'classnames';\nimport BlazeButton from '@blaze-react/button';\nimport { handleLogout } from '@blaze-cms/core-auth-ui';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes, { bool, string } from 'prop-types';\nimport ClickWrapper from './ClickWrapper';\nimport BlazeLink from './BlazeLink';\nimport { withTitle } from '../HOC';\nimport { getClassModifiers } from '../utils';\nimport { LOGOUT } from '../constants';\nimport {\n renderChildren,\n updateChildrensParent,\n hasChildren,\n getClickWrapperOptions\n} from '../helpers';\n\nconst Button = props => {\n const {\n type,\n text,\n url,\n icon,\n name,\n style,\n children,\n clickAction,\n childSeoVisibility,\n afterClickText,\n ...otherProps\n } = props;\n const client = useApolloClient();\n const router = useRouter();\n const isLogoutButton = clickAction === LOGOUT;\n const [cookies] = useCookies();\n const { blaze_auth: blazeCookie } = cookies;\n const [showChildren, setShowChildren] = useState(false);\n\n const checkIfButtonShouldRender = () => {\n if (isLogoutButton) return !!blazeCookie;\n if (!text && !icon) return false;\n return !!(url || hasChildren(children));\n };\n\n const logout = () => {\n handleLogout(client);\n url ? router.reload(url) : router.reload();\n };\n\n const handleClick = () => {\n if (isLogoutButton) logout();\n if (!url && !isLogoutButton) setShowChildren(!showChildren);\n };\n\n if (!checkIfButtonShouldRender()) return null;\n\n const buttonType = !text && icon ? 'icon' : type;\n const modifiers = getClassModifiers(buttonType, { icon, style, ...otherProps });\n const currentProps = url ? { href: url, title: name } : { name };\n const DynamicButton = url && !isLogoutButton ? BlazeLink : BlazeButton;\n updateChildrensParent(children, otherProps.parent.itemId, otherProps.parent.itemEntity);\n\n const renderedChildren = renderChildren(children, { onClose: handleClick });\n const { shouldUseClickWrapper, wrapperProps } = getClickWrapperOptions(children, props);\n const Wrapper = shouldUseClickWrapper ? ClickWrapper : Fragment;\n\n const contentClassName = classnames('button__content', {\n 'button__content--show': showChildren\n });\n\n return (\n <Wrapper {...wrapperProps}>\n {childSeoVisibility && <div className={contentClassName}>{renderedChildren}</div>}\n {!childSeoVisibility && showChildren && renderedChildren}\n <DynamicButton className={modifiers} onClick={handleClick} {...currentProps}>\n {icon && <i className={icon} />}\n {showChildren ? afterClickText : text}\n </DynamicButton>\n </Wrapper>\n );\n};\n\nButton.propTypes = {\n clickAction: PropTypes.string,\n text: PropTypes.string,\n afterClickText: string,\n name: PropTypes.string,\n type: PropTypes.string,\n url: PropTypes.string,\n size: PropTypes.string,\n icon: PropTypes.string,\n style: PropTypes.string,\n childSeoVisibility: bool,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nButton.defaultProps = {\n clickAction: '',\n text: '',\n afterClickText: '',\n name: '',\n type: '',\n url: null,\n size: '',\n icon: '',\n style: '',\n children: [],\n childSeoVisibility: false\n};\n\nexport default withTitle(Button);\n"],"mappings":";;;;;;;;;AAAA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,QAA1B,
|
|
1
|
+
{"version":3,"file":"Button.js","names":["React","useState","Fragment","useEffect","useCookies","useRouter","classnames","BlazeButton","handleLogout","useApolloClient","PropTypes","bool","string","ClickWrapper","BlazeLink","withTitle","getClassModifiers","LOGOUT","renderChildren","updateChildrensParent","hasChildren","getClickWrapperOptions","Button","props","type","text","url","icon","name","style","children","clickAction","childSeoVisibility","afterClickText","otherProps","client","router","isLogoutButton","cookies","blaze_auth","blazeCookie","showChildren","setShowChildren","asPath","checkIfButtonShouldRender","logout","reload","handleClick","buttonType","modifiers","currentProps","href","title","DynamicButton","parent","itemId","itemEntity","renderedChildren","onClose","shouldUseClickWrapper","wrapperProps","Wrapper","contentClassName","propTypes","size","oneOfType","arrayOf","node","defaultProps"],"sources":["../../src/components/Button.js"],"sourcesContent":["import React, { useState, Fragment, useEffect } from 'react';\nimport { useCookies } from 'react-cookie';\nimport { useRouter } from 'next/router';\nimport classnames from 'classnames';\nimport BlazeButton from '@blaze-react/button';\nimport { handleLogout } from '@blaze-cms/core-auth-ui';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes, { bool, string } from 'prop-types';\nimport ClickWrapper from './ClickWrapper';\nimport BlazeLink from './BlazeLink';\nimport { withTitle } from '../HOC';\nimport { getClassModifiers } from '../utils';\nimport { LOGOUT } from '../constants';\nimport {\n renderChildren,\n updateChildrensParent,\n hasChildren,\n getClickWrapperOptions\n} from '../helpers';\n\nconst Button = props => {\n const {\n type,\n text,\n url,\n icon,\n name,\n style,\n children,\n clickAction,\n childSeoVisibility,\n afterClickText,\n ...otherProps\n } = props;\n const client = useApolloClient();\n const router = useRouter();\n const isLogoutButton = clickAction === LOGOUT;\n const [cookies] = useCookies();\n const { blaze_auth: blazeCookie } = cookies;\n const [showChildren, setShowChildren] = useState(false);\n\n useEffect(\n () => {\n setShowChildren(false);\n },\n [router.asPath]\n );\n\n const checkIfButtonShouldRender = () => {\n if (isLogoutButton) return !!blazeCookie;\n if (!text && !icon) return false;\n return !!(url || hasChildren(children));\n };\n\n const logout = () => {\n handleLogout(client);\n url ? router.reload(url) : router.reload();\n };\n\n const handleClick = () => {\n if (isLogoutButton) logout();\n if (!url && !isLogoutButton) setShowChildren(!showChildren);\n };\n\n if (!checkIfButtonShouldRender()) return null;\n\n const buttonType = !text && icon ? 'icon' : type;\n const modifiers = getClassModifiers(buttonType, { icon, style, ...otherProps });\n const currentProps = url ? { href: url, title: name } : { name };\n const DynamicButton = url && !isLogoutButton ? BlazeLink : BlazeButton;\n updateChildrensParent(children, otherProps.parent.itemId, otherProps.parent.itemEntity);\n\n const renderedChildren = renderChildren(children, { onClose: handleClick });\n const { shouldUseClickWrapper, wrapperProps } = getClickWrapperOptions(children, props);\n const Wrapper = shouldUseClickWrapper ? ClickWrapper : Fragment;\n\n const contentClassName = classnames('button__content', {\n 'button__content--show': showChildren\n });\n\n return (\n <Wrapper {...wrapperProps}>\n {childSeoVisibility && <div className={contentClassName}>{renderedChildren}</div>}\n {!childSeoVisibility && showChildren && renderedChildren}\n <DynamicButton className={modifiers} onClick={handleClick} {...currentProps}>\n {icon && <i className={icon} />}\n {showChildren ? afterClickText : text}\n </DynamicButton>\n </Wrapper>\n );\n};\n\nButton.propTypes = {\n clickAction: PropTypes.string,\n text: PropTypes.string,\n afterClickText: string,\n name: PropTypes.string,\n type: PropTypes.string,\n url: PropTypes.string,\n size: PropTypes.string,\n icon: PropTypes.string,\n style: PropTypes.string,\n childSeoVisibility: bool,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nButton.defaultProps = {\n clickAction: '',\n text: '',\n afterClickText: '',\n name: '',\n type: '',\n url: null,\n size: '',\n icon: '',\n style: '',\n children: [],\n childSeoVisibility: false\n};\n\nexport default withTitle(Button);\n"],"mappings":"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"}
|