@blaze-cms/react-page-builder 0.119.0-alpha.2 → 0.120.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/lib/components/Banner/AdSlotRender.js +23 -9
  3. package/lib/components/Banner/AdSlotRender.js.map +1 -1
  4. package/lib/components/BlazeLink.js +1 -0
  5. package/lib/components/BlazeLink.js.map +1 -1
  6. package/lib/components/Card/Card.js +1 -1
  7. package/lib/components/Card/Card.js.map +1 -1
  8. package/lib/components/Card/CardContainer.js +6 -2
  9. package/lib/components/Card/CardContainer.js.map +1 -1
  10. package/lib/components/Card/CardRender.js +27 -12
  11. package/lib/components/Card/CardRender.js.map +1 -1
  12. package/lib/components/Card/helpers/filter-query-setup.js +7 -3
  13. package/lib/components/Card/helpers/filter-query-setup.js.map +1 -1
  14. package/lib/components/Card/helpers/filters-setup.js +5 -16
  15. package/lib/components/Card/helpers/filters-setup.js.map +1 -1
  16. package/lib/components/List/ListBuilder.js +3 -3
  17. package/lib/components/List/ListBuilder.js.map +1 -1
  18. package/lib/helpers/build-props-query.js +15 -7
  19. package/lib/helpers/build-props-query.js.map +1 -1
  20. package/lib/helpers/get-entity-data.js +27 -5
  21. package/lib/helpers/get-entity-data.js.map +1 -1
  22. package/lib/helpers/get-generic-render-variables.js +29 -7
  23. package/lib/helpers/get-generic-render-variables.js.map +1 -1
  24. package/lib-es/components/Banner/AdSlotRender.js +23 -11
  25. package/lib-es/components/Banner/AdSlotRender.js.map +1 -1
  26. package/lib-es/components/BlazeLink.js +1 -0
  27. package/lib-es/components/BlazeLink.js.map +1 -1
  28. package/lib-es/components/Card/Card.js +1 -1
  29. package/lib-es/components/Card/Card.js.map +1 -1
  30. package/lib-es/components/Card/CardContainer.js +6 -2
  31. package/lib-es/components/Card/CardContainer.js.map +1 -1
  32. package/lib-es/components/Card/CardRender.js +19 -10
  33. package/lib-es/components/Card/CardRender.js.map +1 -1
  34. package/lib-es/components/Card/helpers/filter-query-setup.js +7 -3
  35. package/lib-es/components/Card/helpers/filter-query-setup.js.map +1 -1
  36. package/lib-es/components/Card/helpers/filters-setup.js +2 -7
  37. package/lib-es/components/Card/helpers/filters-setup.js.map +1 -1
  38. package/lib-es/components/List/ListBuilder.js +3 -3
  39. package/lib-es/components/List/ListBuilder.js.map +1 -1
  40. package/lib-es/helpers/build-props-query.js +11 -8
  41. package/lib-es/helpers/build-props-query.js.map +1 -1
  42. package/lib-es/helpers/get-entity-data.js +23 -5
  43. package/lib-es/helpers/get-entity-data.js.map +1 -1
  44. package/lib-es/helpers/get-generic-render-variables.js +28 -7
  45. package/lib-es/helpers/get-generic-render-variables.js.map +1 -1
  46. package/package.json +4 -4
  47. package/src/components/Banner/AdSlotRender.js +11 -7
  48. package/src/components/BlazeLink.js +1 -0
  49. package/src/components/Card/Card.js +3 -5
  50. package/src/components/Card/CardContainer.js +6 -2
  51. package/src/components/Card/CardRender.js +15 -9
  52. package/src/components/Card/helpers/filter-query-setup.js +9 -3
  53. package/src/components/Card/helpers/filters-setup.js +2 -5
  54. package/src/components/List/ListBuilder.js +3 -3
  55. package/src/helpers/build-props-query.js +7 -10
  56. package/src/helpers/get-entity-data.js +12 -4
  57. package/src/helpers/get-generic-render-variables.js +30 -6
  58. package/tests/unit/src/components/Banner/AdSlotRender.test.js +4 -3
  59. package/tests/unit/src/components/Banner/__snapshots__/AdSlotRender.test.js.snap +10 -4
  60. package/tests/unit/src/components/List/components/Cards/__snapshots__/CardsRender.test.js.snap +18 -6
  61. package/tests/unit/src/helpers/build-props-query.test.js +28 -0
@@ -97,7 +97,7 @@ var ListBuilder = function ListBuilder(props) {
97
97
  var itemsPerPageToUse = (0, _helpers3.getItemsPerPageToUse)(itemsPerPage, limitToUse);
98
98
  var initialOffset = (0, _helpers2.getCurrentOffset)(offset, itemsPerPageToUse, paginationIndex, limitToUse);
99
99
 
100
- var _getEntityData = (0, _helpers2.getEntityData)(entity),
100
+ var _getEntityData = (0, _helpers2.getEntityData)(entity, requiredSchema),
101
101
  entityType = _getEntityData.entityType,
102
102
  docType = _getEntityData.docType;
103
103
 
@@ -126,7 +126,7 @@ var ListBuilder = function ListBuilder(props) {
126
126
  sort: sort,
127
127
  sortby: sortby,
128
128
  sortProperties: sortProperties
129
- }), stringProps, JSON.stringify(azRawQuery), isTextSearchFilterApplied);
129
+ }), stringProps, azRawQuery, isTextSearchFilterApplied);
130
130
  var azAction = (0, _query.getSearchPublishedContent)(_constants2.RAW_RESULTS);
131
131
 
132
132
  var _useQuery = (0, _client.useQuery)(azAction, {
@@ -157,7 +157,7 @@ var ListBuilder = function ListBuilder(props) {
157
157
  sort: sort,
158
158
  sortby: sortby,
159
159
  sortProperties: sortProperties
160
- }), stringProps, JSON.stringify(rawQuery), isTextSearchFilterApplied);
160
+ }), stringProps, rawQuery, isTextSearchFilterApplied);
161
161
  return /*#__PURE__*/_react["default"].createElement(_ListRender["default"], (0, _extends2["default"])({
162
162
  variables: variables,
163
163
  isInfinite: isInfinite,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/List/ListBuilder.js"],"names":["ListBuilder","props","entitySchema","isCard","isAZ","inheritedFilters","paginationType","entity","isTextSearchFilterApplied","itemId","parent","itemsPerPage","itemsToDisplay","limit","propsToDisplay","offset","entityData","sortby","sort","paginationIndex","omitWrappers","operator","filterOperator","currentSchema","filterEntitySchema","requiredSchema","searchValues","azFilter","sortProperties","isInfinite","INFINITE","listComponent","getListComponent","propsToDisplayValues","entityFields","limitToUse","length","shouldApplyDefaultSort","itemsPerPageToUse","initialOffset","entityType","docType","fields","action","actionKey","SEARCH_PUBLISHED_CONTENT","updatedFilterBy","filterValues","filterBy","relations","stringProps","Object","values","azRawQuery","shouldReturnAggs","azVariables","JSON","stringify","azAction","RAW_RESULTS","variables","skip","data","error","loading","message","listAggregations","updatedAggregations","rawQuery","propTypes","PropTypes","string","isRequired","object","bool","number","array","defaultProps","isNotClassic","CLASSIC","CardRenderWithInfiniteScroll","CardsRender","FullRenderWithInfiniteScroll","FullRender"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useQuery } from '@apollo/client';\nimport { getStringTypeProps } from '@blaze-cms/utils/src/helpers';\nimport {\n CardRenderWithInfiniteScroll,\n CardsRender,\n FullRender,\n FullRenderWithInfiniteScroll\n} from './components';\nimport ListRender from './ListRender';\nimport { getSearchPublishedContent } from '../../application/query';\nimport {\n buildRawQuery,\n buildQueryFields,\n buildSetFilters,\n getGenericRenderVariables,\n getEntityData,\n getCurrentOffset,\n getUpdatedFilterBy,\n checkPropsToUse,\n buildPropsQuery\n} from '../../helpers';\nimport { sortAggs, getItemsPerPageToUse, buildAzAggregations } from './helpers';\nimport { SEARCH_PUBLISHED_CONTENT, INFINITE, CLASSIC } from '../../constants';\nimport { RAW_RESULTS } from './constants';\n\nconst ListBuilder = props => {\n const {\n entitySchema,\n isCard,\n isAZ,\n inheritedFilters,\n paginationType,\n entity,\n isTextSearchFilterApplied,\n parent: { itemId },\n itemsPerPage,\n itemsToDisplay,\n limit,\n propsToDisplay,\n offset,\n entityData,\n sortby,\n sort,\n paginationIndex,\n omitWrappers,\n operator,\n filterOperator,\n currentSchema,\n filterEntitySchema,\n requiredSchema,\n searchValues,\n azFilter,\n sortProperties\n } = props;\n const isInfinite = paginationType === INFINITE;\n const listComponent = getListComponent(isCard, paginationType);\n const propsToDisplayValues = checkPropsToUse(propsToDisplay);\n const entityFields = buildPropsQuery(entitySchema, propsToDisplayValues, props) || '';\n const limitToUse = limit || itemsToDisplay.length;\n const shouldApplyDefaultSort = !sortProperties || !sortProperties.length;\n const itemsPerPageToUse = getItemsPerPageToUse(itemsPerPage, limitToUse);\n const initialOffset = getCurrentOffset(offset, itemsPerPageToUse, paginationIndex, limitToUse);\n const { entityType, docType } = getEntityData(entity);\n const fields = buildQueryFields(entityFields, entityType, !isCard);\n const action = getSearchPublishedContent(fields);\n const actionKey = SEARCH_PUBLISHED_CONTENT;\n const updatedFilterBy = getUpdatedFilterBy(\n inheritedFilters,\n entityData,\n currentSchema,\n filterEntitySchema,\n itemId,\n props\n );\n\n const filterValues =\n updatedFilterBy && updatedFilterBy.length\n ? buildSetFilters({ ...props, filterBy: updatedFilterBy })\n : buildSetFilters({ ...props });\n\n const { relations = [] } = filterEntitySchema;\n const stringProps = getStringTypeProps(entity, relations, Object.values(requiredSchema));\n\n const azRawQuery = buildRawQuery(\n docType,\n operator,\n searchValues,\n {\n filterValues,\n filterOperator,\n relations,\n stringProps\n },\n itemId,\n itemsToDisplay,\n shouldApplyDefaultSort,\n { shouldReturnAggs: true, isAZ }\n );\n\n const azVariables = getGenericRenderVariables(\n relations,\n {\n ...props,\n limit: itemsPerPageToUse,\n offset: initialOffset,\n sort,\n sortby,\n sortProperties\n },\n stringProps,\n JSON.stringify(azRawQuery),\n isTextSearchFilterApplied\n );\n\n const azAction = getSearchPublishedContent(RAW_RESULTS);\n const { data, error, loading } = useQuery(azAction, {\n variables: azVariables,\n skip: !isAZ\n });\n if (loading) return '';\n if (error) return error.message;\n\n const listAggregations = isAZ ? sortAggs(data) : [];\n const updatedAggregations = buildAzAggregations(listAggregations);\n\n const rawQuery = buildRawQuery(\n docType,\n operator,\n searchValues,\n {\n filterValues,\n filterOperator,\n relations,\n stringProps,\n azFilter\n },\n itemId,\n itemsToDisplay,\n shouldApplyDefaultSort,\n { shouldReturnAggs: false, isAZ }\n );\n\n const variables = getGenericRenderVariables(\n relations,\n {\n ...props,\n limit: itemsPerPageToUse,\n offset: initialOffset,\n sort,\n sortby,\n sortProperties\n },\n stringProps,\n JSON.stringify(rawQuery),\n isTextSearchFilterApplied\n );\n\n return (\n <ListRender\n variables={variables}\n isInfinite={isInfinite}\n initialOffset={initialOffset}\n actionKey={actionKey}\n limitToUse={limitToUse}\n itemsPerPageToUse={itemsPerPageToUse}\n action={action}\n omitWrappers={omitWrappers}\n listComponent={listComponent}\n listAggregations={updatedAggregations}\n isAZ={isAZ}\n azFilter={azFilter}\n {...props}\n />\n );\n};\n\nListBuilder.propTypes = {\n entity: PropTypes.string.isRequired,\n entitySchema: PropTypes.object.isRequired,\n isCard: PropTypes.bool.isRequired,\n isAZ: PropTypes.bool.isRequired,\n isTextSearchFilterApplied: PropTypes.bool.isRequired,\n parent: PropTypes.object.isRequired,\n itemsPerPage: PropTypes.number.isRequired,\n paginationIndex: PropTypes.number.isRequired,\n propsToDisplay: PropTypes.array.isRequired,\n currentSchema: PropTypes.object.isRequired,\n filterEntitySchema: PropTypes.object.isRequired,\n requiredSchema: PropTypes.object.isRequired,\n searchValues: PropTypes.object.isRequired,\n inheritedFilters: PropTypes.array,\n entityData: PropTypes.object,\n itemsToDisplay: PropTypes.array,\n limit: PropTypes.number,\n omitWrappers: PropTypes.bool,\n offset: PropTypes.number,\n sortby: PropTypes.array.isRequired,\n sort: PropTypes.string.isRequired,\n operator: PropTypes.string.isRequired,\n filterOperator: PropTypes.string.isRequired,\n paginationType: PropTypes.string,\n azFilter: PropTypes.string,\n sortProperties: PropTypes.array\n};\n\nListBuilder.defaultProps = {\n entityData: {},\n itemsToDisplay: [],\n limit: 0,\n omitWrappers: false,\n offset: 0,\n paginationType: 'infinite',\n inheritedFilters: [],\n azFilter: '',\n sortProperties: []\n};\n\nexport default ListBuilder;\nfunction getListComponent(isCard, paginationType) {\n const isNotClassic = paginationType !== CLASSIC;\n\n if (isCard) return isNotClassic ? CardRenderWithInfiniteScroll : CardsRender;\n\n return isNotClassic ? FullRenderWithInfiniteScroll : FullRender;\n}\n"],"file":"ListBuilder.js"}
1
+ {"version":3,"sources":["../../../src/components/List/ListBuilder.js"],"names":["ListBuilder","props","entitySchema","isCard","isAZ","inheritedFilters","paginationType","entity","isTextSearchFilterApplied","itemId","parent","itemsPerPage","itemsToDisplay","limit","propsToDisplay","offset","entityData","sortby","sort","paginationIndex","omitWrappers","operator","filterOperator","currentSchema","filterEntitySchema","requiredSchema","searchValues","azFilter","sortProperties","isInfinite","INFINITE","listComponent","getListComponent","propsToDisplayValues","entityFields","limitToUse","length","shouldApplyDefaultSort","itemsPerPageToUse","initialOffset","entityType","docType","fields","action","actionKey","SEARCH_PUBLISHED_CONTENT","updatedFilterBy","filterValues","filterBy","relations","stringProps","Object","values","azRawQuery","shouldReturnAggs","azVariables","azAction","RAW_RESULTS","variables","skip","data","error","loading","message","listAggregations","updatedAggregations","rawQuery","propTypes","PropTypes","string","isRequired","object","bool","number","array","defaultProps","isNotClassic","CLASSIC","CardRenderWithInfiniteScroll","CardsRender","FullRenderWithInfiniteScroll","FullRender"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useQuery } from '@apollo/client';\nimport { getStringTypeProps } from '@blaze-cms/utils/src/helpers';\nimport {\n CardRenderWithInfiniteScroll,\n CardsRender,\n FullRender,\n FullRenderWithInfiniteScroll\n} from './components';\nimport ListRender from './ListRender';\nimport { getSearchPublishedContent } from '../../application/query';\nimport {\n buildRawQuery,\n buildQueryFields,\n buildSetFilters,\n getGenericRenderVariables,\n getEntityData,\n getCurrentOffset,\n getUpdatedFilterBy,\n checkPropsToUse,\n buildPropsQuery\n} from '../../helpers';\nimport { sortAggs, getItemsPerPageToUse, buildAzAggregations } from './helpers';\nimport { SEARCH_PUBLISHED_CONTENT, INFINITE, CLASSIC } from '../../constants';\nimport { RAW_RESULTS } from './constants';\n\nconst ListBuilder = props => {\n const {\n entitySchema,\n isCard,\n isAZ,\n inheritedFilters,\n paginationType,\n entity,\n isTextSearchFilterApplied,\n parent: { itemId },\n itemsPerPage,\n itemsToDisplay,\n limit,\n propsToDisplay,\n offset,\n entityData,\n sortby,\n sort,\n paginationIndex,\n omitWrappers,\n operator,\n filterOperator,\n currentSchema,\n filterEntitySchema,\n requiredSchema,\n searchValues,\n azFilter,\n sortProperties\n } = props;\n const isInfinite = paginationType === INFINITE;\n const listComponent = getListComponent(isCard, paginationType);\n const propsToDisplayValues = checkPropsToUse(propsToDisplay);\n const entityFields = buildPropsQuery(entitySchema, propsToDisplayValues, props) || '';\n const limitToUse = limit || itemsToDisplay.length;\n const shouldApplyDefaultSort = !sortProperties || !sortProperties.length;\n const itemsPerPageToUse = getItemsPerPageToUse(itemsPerPage, limitToUse);\n const initialOffset = getCurrentOffset(offset, itemsPerPageToUse, paginationIndex, limitToUse);\n const { entityType, docType } = getEntityData(entity, requiredSchema);\n const fields = buildQueryFields(entityFields, entityType, !isCard);\n const action = getSearchPublishedContent(fields);\n const actionKey = SEARCH_PUBLISHED_CONTENT;\n const updatedFilterBy = getUpdatedFilterBy(\n inheritedFilters,\n entityData,\n currentSchema,\n filterEntitySchema,\n itemId,\n props\n );\n\n const filterValues =\n updatedFilterBy && updatedFilterBy.length\n ? buildSetFilters({ ...props, filterBy: updatedFilterBy })\n : buildSetFilters({ ...props });\n\n const { relations = [] } = filterEntitySchema;\n const stringProps = getStringTypeProps(entity, relations, Object.values(requiredSchema));\n\n const azRawQuery = buildRawQuery(\n docType,\n operator,\n searchValues,\n {\n filterValues,\n filterOperator,\n relations,\n stringProps\n },\n itemId,\n itemsToDisplay,\n shouldApplyDefaultSort,\n { shouldReturnAggs: true, isAZ }\n );\n\n const azVariables = getGenericRenderVariables(\n relations,\n {\n ...props,\n limit: itemsPerPageToUse,\n offset: initialOffset,\n sort,\n sortby,\n sortProperties\n },\n stringProps,\n azRawQuery,\n isTextSearchFilterApplied\n );\n\n const azAction = getSearchPublishedContent(RAW_RESULTS);\n const { data, error, loading } = useQuery(azAction, {\n variables: azVariables,\n skip: !isAZ\n });\n if (loading) return '';\n if (error) return error.message;\n\n const listAggregations = isAZ ? sortAggs(data) : [];\n const updatedAggregations = buildAzAggregations(listAggregations);\n\n const rawQuery = buildRawQuery(\n docType,\n operator,\n searchValues,\n {\n filterValues,\n filterOperator,\n relations,\n stringProps,\n azFilter\n },\n itemId,\n itemsToDisplay,\n shouldApplyDefaultSort,\n { shouldReturnAggs: false, isAZ }\n );\n\n const variables = getGenericRenderVariables(\n relations,\n {\n ...props,\n limit: itemsPerPageToUse,\n offset: initialOffset,\n sort,\n sortby,\n sortProperties\n },\n stringProps,\n rawQuery,\n isTextSearchFilterApplied\n );\n\n return (\n <ListRender\n variables={variables}\n isInfinite={isInfinite}\n initialOffset={initialOffset}\n actionKey={actionKey}\n limitToUse={limitToUse}\n itemsPerPageToUse={itemsPerPageToUse}\n action={action}\n omitWrappers={omitWrappers}\n listComponent={listComponent}\n listAggregations={updatedAggregations}\n isAZ={isAZ}\n azFilter={azFilter}\n {...props}\n />\n );\n};\n\nListBuilder.propTypes = {\n entity: PropTypes.string.isRequired,\n entitySchema: PropTypes.object.isRequired,\n isCard: PropTypes.bool.isRequired,\n isAZ: PropTypes.bool.isRequired,\n isTextSearchFilterApplied: PropTypes.bool.isRequired,\n parent: PropTypes.object.isRequired,\n itemsPerPage: PropTypes.number.isRequired,\n paginationIndex: PropTypes.number.isRequired,\n propsToDisplay: PropTypes.array.isRequired,\n currentSchema: PropTypes.object.isRequired,\n filterEntitySchema: PropTypes.object.isRequired,\n requiredSchema: PropTypes.object.isRequired,\n searchValues: PropTypes.object.isRequired,\n inheritedFilters: PropTypes.array,\n entityData: PropTypes.object,\n itemsToDisplay: PropTypes.array,\n limit: PropTypes.number,\n omitWrappers: PropTypes.bool,\n offset: PropTypes.number,\n sortby: PropTypes.array.isRequired,\n sort: PropTypes.string.isRequired,\n operator: PropTypes.string.isRequired,\n filterOperator: PropTypes.string.isRequired,\n paginationType: PropTypes.string,\n azFilter: PropTypes.string,\n sortProperties: PropTypes.array\n};\n\nListBuilder.defaultProps = {\n entityData: {},\n itemsToDisplay: [],\n limit: 0,\n omitWrappers: false,\n offset: 0,\n paginationType: 'infinite',\n inheritedFilters: [],\n azFilter: '',\n sortProperties: []\n};\n\nexport default ListBuilder;\nfunction getListComponent(isCard, paginationType) {\n const isNotClassic = paginationType !== CLASSIC;\n\n if (isCard) return isNotClassic ? CardRenderWithInfiniteScroll : CardsRender;\n\n return isNotClassic ? FullRenderWithInfiniteScroll : FullRender;\n}\n"],"file":"ListBuilder.js"}
@@ -43,6 +43,8 @@ require("core-js/modules/es.string.split.js");
43
43
 
44
44
  require("core-js/modules/es.string.starts-with.js");
45
45
 
46
+ require("core-js/modules/es.array.find.js");
47
+
46
48
  var _constants = require("../constants");
47
49
 
48
50
  var defaultProps = [_constants.ID, 'name'];
@@ -117,24 +119,30 @@ var getTypeBaseProps = function getTypeBaseProps(data, cardOptions, extraPropsHa
117
119
  var getEntitySchema = data.getEntitySchema;
118
120
  var interfaces = getEntitySchema.interfaces,
119
121
  properties = getEntitySchema.properties,
120
- dynamicProperties = getEntitySchema.dynamicProperties;
122
+ dynamicProperties = getEntitySchema.dynamicProperties,
123
+ relations = getEntitySchema.relations;
121
124
  var isContent = !!interfaces.includes('content/content');
122
125
  var hasCategory = checkProps(properties) || checkProps(dynamicProperties);
123
126
  var hasPreheader = properties[_constants.PREHEADER_PROP];
124
127
  var typeBasedProps = [].concat(defaultProps);
125
128
  typeBasedProps.push.apply(typeBasedProps, (0, _toConsumableArray2["default"])(getCategoyProps(shouldAddCategoryProps, hasCategory, hasPreheader)));
126
- typeBasedProps.push.apply(typeBasedProps, (0, _toConsumableArray2["default"])(getContentProps(isContent, displayThumbnail)));
129
+ typeBasedProps.push.apply(typeBasedProps, (0, _toConsumableArray2["default"])(getContentProps(isContent)));
130
+
131
+ if (displayThumbnail && relations.find(function (_ref2) {
132
+ var localField = _ref2.localField;
133
+ return localField === 'image';
134
+ })) {
135
+ typeBasedProps.push('image.id', 'image.url', 'image.data');
136
+ }
137
+
127
138
  return {
128
139
  typeBasedProps: typeBasedProps,
129
140
  shouldAddCategoryProps: shouldAddCategoryProps
130
141
  };
131
142
  };
132
143
 
133
- var getContentProps = function getContentProps(isContent, displayThumbnail) {
134
- if (!isContent) return [];
135
- var props = ['url', 'sponsored', 'featured'];
136
- if (displayThumbnail) props.push('image.id', 'image.url', 'image.data');
137
- return props;
144
+ var getContentProps = function getContentProps(isContent) {
145
+ return isContent ? ['url', 'sponsored', 'featured'] : [];
138
146
  };
139
147
 
140
148
  var getCategoyProps = function getCategoyProps(shouldAddCategoryProps, hasCategory, hasPreheader) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/helpers/build-props-query.js"],"names":["defaultProps","ID","categoryProps","checkProps","props","Object","keys","filter","prop","CATEGORY_ID","length","buildPropsQuery","data","extraProps","cardOptions","extraPropsHaveCategory","includes","getTypeBaseProps","typeBasedProps","shouldAddCategoryProps","allProps","uniqueProps","Set","basicProps","i","arr","indexOf","complexProps","buildComplexProps","join","map","nested","split","base","nestedProps","extraProp","startsWith","jointNestedProps","isCard","displayCategory","displayThumbnail","getEntitySchema","interfaces","properties","dynamicProperties","isContent","hasCategory","hasPreheader","PREHEADER_PROP","push","getCategoyProps","getContentProps","HEADLINE_PROP"],"mappings":"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","sourcesContent":["import { CATEGORY_ID, ID, PREHEADER_PROP, HEADLINE_PROP } from '../constants';\n\nconst defaultProps = [ID, 'name'];\nconst categoryProps = 'id publishedListingPage{id, url}';\n\nconst checkProps = props =>\n !!(props && Object.keys(props).filter(prop => prop === CATEGORY_ID).length);\n\nconst buildPropsQuery = (data, extraProps = [], cardOptions = null) => {\n const extraPropsHaveCategory = !!extraProps.filter(prop => prop.includes('category.')).length;\n\n const { typeBasedProps, shouldAddCategoryProps } = getTypeBaseProps(\n data,\n cardOptions,\n extraPropsHaveCategory\n );\n\n const allProps = [...typeBasedProps, ...extraProps];\n\n const uniqueProps = [...new Set([...allProps])];\n\n const basicProps = uniqueProps\n .filter(prop => prop && !prop.includes('.'))\n .filter((prop, i, arr) => arr.indexOf(prop) === i);\n const complexProps = buildComplexProps(shouldAddCategoryProps, uniqueProps);\n\n return [...basicProps, ...complexProps].join(',');\n};\n\nconst buildComplexProps = (shouldAddCategoryProps, props) =>\n props\n .filter(prop => prop && prop.includes('.'))\n .map(nested => nested.split('.')[0])\n .filter((prop, i, arr) => arr.indexOf(prop) === i)\n .map(base => {\n const nestedProps = props\n .filter(\n (extraProp, i, arr) =>\n extraProp && extraProp.startsWith(`${base}.`) && arr.indexOf(extraProp) === i\n )\n .map(nested => nested.split('.')[1]);\n\n const jointNestedProps = nestedProps.join(',');\n if (base === 'category' && shouldAddCategoryProps)\n return `${base}{${jointNestedProps}, ${categoryProps}}`;\n if (base.includes('published')) {\n return `${base}{${jointNestedProps},url}`;\n }\n return `${base}{${jointNestedProps}}`;\n });\n\nconst getTypeBaseProps = (data, cardOptions, extraPropsHaveCategory) => {\n const isCard = !!cardOptions;\n const { displayCategory = true, displayThumbnail = true } = cardOptions || {};\n\n const shouldAddCategoryProps =\n (isCard && displayCategory) || (!isCard && !extraPropsHaveCategory);\n\n if (!isCard) return { typeBasedProps: [ID], shouldAddCategoryProps };\n\n const { getEntitySchema } = data;\n const { interfaces, properties, dynamicProperties } = getEntitySchema;\n\n const isContent = !!interfaces.includes('content/content');\n const hasCategory = checkProps(properties) || checkProps(dynamicProperties);\n const hasPreheader = properties[PREHEADER_PROP];\n\n const typeBasedProps = [...defaultProps];\n\n typeBasedProps.push(...getCategoyProps(shouldAddCategoryProps, hasCategory, hasPreheader));\n typeBasedProps.push(...getContentProps(isContent, displayThumbnail));\n\n return { typeBasedProps, shouldAddCategoryProps };\n};\n\nconst getContentProps = (isContent, displayThumbnail) => {\n if (!isContent) return [];\n\n const props = ['url', 'sponsored', 'featured'];\n if (displayThumbnail) props.push('image.id', 'image.url', 'image.data');\n\n return props;\n};\n\nconst getCategoyProps = (shouldAddCategoryProps, hasCategory, hasPreheader) => {\n if (!shouldAddCategoryProps) return [];\n\n const props = [];\n\n if (hasCategory) {\n props.push('category.name', 'category.listingPageId', 'category.listingPageEntity');\n }\n\n if (hasPreheader) {\n props.push(`${PREHEADER_PROP}{name}`);\n props.push(HEADLINE_PROP);\n }\n\n return props;\n};\n\nexport default buildPropsQuery;\n"],"file":"build-props-query.js"}
1
+ {"version":3,"sources":["../../src/helpers/build-props-query.js"],"names":["defaultProps","ID","categoryProps","checkProps","props","Object","keys","filter","prop","CATEGORY_ID","length","buildPropsQuery","data","extraProps","cardOptions","extraPropsHaveCategory","includes","getTypeBaseProps","typeBasedProps","shouldAddCategoryProps","allProps","uniqueProps","Set","basicProps","i","arr","indexOf","complexProps","buildComplexProps","join","map","nested","split","base","nestedProps","extraProp","startsWith","jointNestedProps","isCard","displayCategory","displayThumbnail","getEntitySchema","interfaces","properties","dynamicProperties","relations","isContent","hasCategory","hasPreheader","PREHEADER_PROP","push","getCategoyProps","getContentProps","find","localField","HEADLINE_PROP"],"mappings":"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","sourcesContent":["import { CATEGORY_ID, ID, PREHEADER_PROP, HEADLINE_PROP } from '../constants';\n\nconst defaultProps = [ID, 'name'];\nconst categoryProps = 'id publishedListingPage{id, url}';\n\nconst checkProps = props =>\n !!(props && Object.keys(props).filter(prop => prop === CATEGORY_ID).length);\n\nconst buildPropsQuery = (data, extraProps = [], cardOptions = null) => {\n const extraPropsHaveCategory = !!extraProps.filter(prop => prop.includes('category.')).length;\n\n const { typeBasedProps, shouldAddCategoryProps } = getTypeBaseProps(\n data,\n cardOptions,\n extraPropsHaveCategory\n );\n\n const allProps = [...typeBasedProps, ...extraProps];\n\n const uniqueProps = [...new Set([...allProps])];\n\n const basicProps = uniqueProps\n .filter(prop => prop && !prop.includes('.'))\n .filter((prop, i, arr) => arr.indexOf(prop) === i);\n const complexProps = buildComplexProps(shouldAddCategoryProps, uniqueProps);\n\n return [...basicProps, ...complexProps].join(',');\n};\n\nconst buildComplexProps = (shouldAddCategoryProps, props) =>\n props\n .filter(prop => prop && prop.includes('.'))\n .map(nested => nested.split('.')[0])\n .filter((prop, i, arr) => arr.indexOf(prop) === i)\n .map(base => {\n const nestedProps = props\n .filter(\n (extraProp, i, arr) =>\n extraProp && extraProp.startsWith(`${base}.`) && arr.indexOf(extraProp) === i\n )\n .map(nested => nested.split('.')[1]);\n\n const jointNestedProps = nestedProps.join(',');\n if (base === 'category' && shouldAddCategoryProps)\n return `${base}{${jointNestedProps}, ${categoryProps}}`;\n if (base.includes('published')) {\n return `${base}{${jointNestedProps},url}`;\n }\n return `${base}{${jointNestedProps}}`;\n });\n\nconst getTypeBaseProps = (data, cardOptions, extraPropsHaveCategory) => {\n const isCard = !!cardOptions;\n const { displayCategory = true, displayThumbnail = true } = cardOptions || {};\n\n const shouldAddCategoryProps =\n (isCard && displayCategory) || (!isCard && !extraPropsHaveCategory);\n\n if (!isCard) return { typeBasedProps: [ID], shouldAddCategoryProps };\n\n const { getEntitySchema } = data;\n const { interfaces, properties, dynamicProperties, relations } = getEntitySchema;\n\n const isContent = !!interfaces.includes('content/content');\n const hasCategory = checkProps(properties) || checkProps(dynamicProperties);\n const hasPreheader = properties[PREHEADER_PROP];\n\n const typeBasedProps = [...defaultProps];\n\n typeBasedProps.push(...getCategoyProps(shouldAddCategoryProps, hasCategory, hasPreheader));\n typeBasedProps.push(...getContentProps(isContent));\n\n if (displayThumbnail && relations.find(({ localField }) => localField === 'image')) {\n typeBasedProps.push('image.id', 'image.url', 'image.data');\n }\n\n return { typeBasedProps, shouldAddCategoryProps };\n};\n\nconst getContentProps = isContent => (isContent ? ['url', 'sponsored', 'featured'] : []);\n\nconst getCategoyProps = (shouldAddCategoryProps, hasCategory, hasPreheader) => {\n if (!shouldAddCategoryProps) return [];\n\n const props = [];\n\n if (hasCategory) {\n props.push('category.name', 'category.listingPageId', 'category.listingPageEntity');\n }\n\n if (hasPreheader) {\n props.push(`${PREHEADER_PROP}{name}`);\n props.push(HEADLINE_PROP);\n }\n\n return props;\n};\n\nexport default buildPropsQuery;\n"],"file":"build-props-query.js"}
@@ -9,16 +9,38 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports["default"] = void 0;
11
11
 
12
+ require("core-js/modules/es.array.includes.js");
13
+
14
+ require("core-js/modules/es.string.includes.js");
15
+
12
16
  var _lodash = _interopRequireDefault(require("lodash.upperfirst"));
13
17
 
14
18
  var _lodash2 = _interopRequireDefault(require("lodash.camelcase"));
15
19
 
16
- var getEntityData = function getEntityData(entity) {
17
- var docType = "published_".concat(entity);
18
- var entityType = "Published".concat((0, _lodash["default"])((0, _lodash2["default"])(entity)));
20
+ var getEntityData = function getEntityData(entity, schema) {
21
+ var publishedDocType = "published_".concat(entity);
22
+ var publishedEntityType = "Published".concat((0, _lodash["default"])((0, _lodash2["default"])(entity)));
23
+
24
+ if (schema) {
25
+ var _ref = schema || {},
26
+ interfaces = _ref.interfaces,
27
+ _ref$entity = _ref[entity];
28
+
29
+ _ref$entity = _ref$entity === void 0 ? {} : _ref$entity;
30
+ var nestedInterfaces = _ref$entity.interfaces;
31
+ var interfacesToCheck = interfaces || nestedInterfaces;
32
+
33
+ if (interfacesToCheck && !interfacesToCheck.includes('publish/publishable')) {
34
+ return {
35
+ docType: entity,
36
+ entityType: (0, _lodash["default"])((0, _lodash2["default"])(entity))
37
+ };
38
+ }
39
+ }
40
+
19
41
  return {
20
- docType: docType,
21
- entityType: entityType
42
+ docType: publishedDocType,
43
+ entityType: publishedEntityType
22
44
  };
23
45
  };
24
46
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/helpers/get-entity-data.js"],"names":["getEntityData","entity","docType","entityType"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,CAAAC,MAAM,EAAI;AAC9B,MAAMC,OAAO,uBAAgBD,MAAhB,CAAb;AACA,MAAME,UAAU,sBAAe,wBAAW,yBAAUF,MAAV,CAAX,CAAf,CAAhB;AAEA,SAAO;AAAEC,IAAAA,OAAO,EAAPA,OAAF;AAAWC,IAAAA,UAAU,EAAVA;AAAX,GAAP;AACD,CALD;;eAOeH,a","sourcesContent":["import upperFirst from 'lodash.upperfirst';\nimport camelcase from 'lodash.camelcase';\n\nconst getEntityData = entity => {\n const docType = `published_${entity}`;\n const entityType = `Published${upperFirst(camelcase(entity))}`;\n\n return { docType, entityType };\n};\n\nexport default getEntityData;\n"],"file":"get-entity-data.js"}
1
+ {"version":3,"sources":["../../src/helpers/get-entity-data.js"],"names":["getEntityData","entity","schema","publishedDocType","publishedEntityType","interfaces","nestedInterfaces","interfacesToCheck","includes","docType","entityType"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,CAACC,MAAD,EAASC,MAAT,EAAoB;AACxC,MAAMC,gBAAgB,uBAAgBF,MAAhB,CAAtB;AACA,MAAMG,mBAAmB,sBAAe,wBAAW,yBAAUH,MAAV,CAAX,CAAf,CAAzB;;AAEA,MAAIC,MAAJ,EAAY;AACV,eAAwEA,MAAM,IAAI,EAAlF;AAAA,QAAQG,UAAR,QAAQA,UAAR;AAAA,2BAAqBJ,MAArB;;AAAA,2CAAiE,EAAjE;AAAA,QAA4CK,gBAA5C,eAAgCD,UAAhC;AACA,QAAME,iBAAiB,GAAGF,UAAU,IAAIC,gBAAxC;;AACA,QAAIC,iBAAiB,IAAI,CAACA,iBAAiB,CAACC,QAAlB,CAA2B,qBAA3B,CAA1B,EAA6E;AAC3E,aAAO;AAAEC,QAAAA,OAAO,EAAER,MAAX;AAAmBS,QAAAA,UAAU,EAAE,wBAAW,yBAAUT,MAAV,CAAX;AAA/B,OAAP;AACD;AACF;;AAED,SAAO;AAAEQ,IAAAA,OAAO,EAAEN,gBAAX;AAA6BO,IAAAA,UAAU,EAAEN;AAAzC,GAAP;AACD,CAbD;;eAeeJ,a","sourcesContent":["import upperFirst from 'lodash.upperfirst';\nimport camelcase from 'lodash.camelcase';\n\nconst getEntityData = (entity, schema) => {\n const publishedDocType = `published_${entity}`;\n const publishedEntityType = `Published${upperFirst(camelcase(entity))}`;\n\n if (schema) {\n const { interfaces, [entity]: { interfaces: nestedInterfaces } = {} } = schema || {};\n const interfacesToCheck = interfaces || nestedInterfaces;\n if (interfacesToCheck && !interfacesToCheck.includes('publish/publishable')) {\n return { docType: entity, entityType: upperFirst(camelcase(entity)) };\n }\n }\n\n return { docType: publishedDocType, entityType: publishedEntityType };\n};\n\nexport default getEntityData;\n"],"file":"get-entity-data.js"}
@@ -83,19 +83,41 @@ var getCorrectSort = function getCorrectSort(relations, filterProps, stringProps
83
83
  var getGenericRenderVariables = function getGenericRenderVariables(relations) {
84
84
  var filterProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
85
85
  var stringProps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
86
- var rawQueryStringified = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
86
+ var rawQuery = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
87
87
  var isTextSearchFilterApplied = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
88
+ var useRandomSort = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
88
89
  var _filterProps$limit = filterProps.limit,
89
90
  limit = _filterProps$limit === void 0 ? _constants.DEFAULT_LIMIT : _filterProps$limit,
90
91
  offset = filterProps.offset;
92
+ var limitToUse = Number(limit || _constants.DEFAULT_LIMIT);
93
+ var offsetToUse = Number(offset || _constants.DEFAULT_OFFSET);
94
+
95
+ if (useRandomSort) {
96
+ var rawQueryStringified = JSON.stringify({
97
+ query: {
98
+ function_score: {
99
+ query: rawQuery,
100
+ random_score: {},
101
+ boost_mode: 'replace'
102
+ }
103
+ }
104
+ });
105
+ return {
106
+ limit: limitToUse,
107
+ offset: offsetToUse,
108
+ rawQueryStringified: rawQueryStringified
109
+ };
110
+ }
111
+
91
112
  var sort = getCorrectSort(relations, filterProps, stringProps, isTextSearchFilterApplied);
92
- var raw = rawQueryStringified ? {
93
- rawQueryStringified: rawQueryStringified
94
- } : {};
95
113
  return _objectSpread(_objectSpread({
96
- limit: Number(limit || _constants.DEFAULT_LIMIT),
97
- offset: Number(offset || _constants.DEFAULT_OFFSET)
98
- }, sort), raw);
114
+ limit: limitToUse,
115
+ offset: offsetToUse
116
+ }, sort), {}, {
117
+ rawQueryStringified: JSON.stringify({
118
+ query: rawQuery
119
+ })
120
+ });
99
121
  };
100
122
 
101
123
  var _default = getGenericRenderVariables;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/helpers/get-generic-render-variables.js"],"names":["buildSortValues","sortFilters","relations","stringProps","length","sort","sortValues","map","propsToDisplay","sortFieldName","toLowerCase","filter","Boolean","join","getCorrectSort","filterProps","isTextSearchApplied","sortby","sortProperties","getGenericRenderVariables","rawQueryStringified","isTextSearchFilterApplied","limit","DEFAULT_LIMIT","offset","raw","Number","DEFAULT_OFFSET"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;AAEA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,WAAD,EAAcC,SAAd,EAAyBC,WAAzB,EAAyC;AAC/D,MAAI,CAACF,WAAD,IAAgB,CAACA,WAAW,CAACG,MAAjC,EAAyC,OAAO;AAAEC,IAAAA,IAAI,EAAE;AAAR,GAAP;AACzC,MAAMC,UAAU,GAAGL,WAAW,CAC3BM,GADgB,CACZ,gBAA8B;AAAA,QAA3BF,IAA2B,QAA3BA,IAA2B;AAAA,QAArBG,cAAqB,QAArBA,cAAqB;AACjC,QAAI,CAACH,IAAL,EAAW,OAAO,IAAP;AAEX,QAAMI,aAAa,GAAG,oCAAmBP,SAAnB,EAA8BM,cAA9B,EAA8CL,WAA9C,CAAtB;AACA,WAAOM,aAAa,aAAMA,aAAN,cAAuBJ,IAAI,CAACK,WAAL,EAAvB,IAA8C,IAAlE;AACD,GANgB,EAOhBC,MAPgB,CAOTC,OAPS,EAQhBC,IARgB,CAQX,GARW,CAAnB;AAUA,SAAO;AAAER,IAAAA,IAAI,EAAEC;AAAR,GAAP;AACD,CAbD;;AAcA,IAAMQ,cAAc,GAAG,SAAjBA,cAAiB,CAACZ,SAAD,EAAYa,WAAZ,EAAyBZ,WAAzB,EAAsCa,mBAAtC,EAA8D;AACnF,MAAIA,mBAAJ,EAAyB;AACvB,WAAO,EAAP;AACD;;AACD,MAAQX,IAAR,GAA8CU,WAA9C,CAAQV,IAAR;AAAA,MAAcY,MAAd,GAA8CF,WAA9C,CAAcE,MAAd;AAAA,8BAA8CF,WAA9C,CAAsBG,cAAtB;AAAA,MAAsBA,cAAtB,sCAAuC,EAAvC;AAEA,SAAOlB,eAAe,EACnB;AAAEK,IAAAA,IAAI,EAAJA,IAAF;AAAQG,IAAAA,cAAc,EAAES;AAAxB,GADmB,6CACkBC,cADlB,IAEpBhB,SAFoB,EAGpBC,WAHoB,CAAtB;AAKD,CAXD;;AAaA,IAAMgB,yBAAyB,GAAG,SAA5BA,yBAA4B,CAChCjB,SADgC,EAM7B;AAAA,MAJHa,WAIG,uEAJW,EAIX;AAAA,MAHHZ,WAGG,uEAHW,EAGX;AAAA,MAFHiB,mBAEG,uEAFmB,EAEnB;AAAA,MADHC,yBACG,uEADyB,KACzB;AACH,2BAA0CN,WAA1C,CAAQO,KAAR;AAAA,MAAQA,KAAR,mCAAgBC,wBAAhB;AAAA,MAA+BC,MAA/B,GAA0CT,WAA1C,CAA+BS,MAA/B;AACA,MAAMnB,IAAI,GAAGS,cAAc,CAACZ,SAAD,EAAYa,WAAZ,EAAyBZ,WAAzB,EAAsCkB,yBAAtC,CAA3B;AACA,MAAMI,GAAG,GAAGL,mBAAmB,GAAG;AAAEA,IAAAA,mBAAmB,EAAnBA;AAAF,GAAH,GAA6B,EAA5D;AAEA;AACEE,IAAAA,KAAK,EAAEI,MAAM,CAACJ,KAAK,IAAIC,wBAAV,CADf;AAEEC,IAAAA,MAAM,EAAEE,MAAM,CAACF,MAAM,IAAIG,yBAAX;AAFhB,KAGKtB,IAHL,GAIKoB,GAJL;AAMD,CAjBD;;eAmBeN,yB","sourcesContent":["import getSortbyFieldName from './get-sort-by-field-name';\nimport { DEFAULT_LIMIT, DEFAULT_OFFSET } from '../constants';\n\nconst buildSortValues = (sortFilters, relations, stringProps) => {\n if (!sortFilters || !sortFilters.length) return { sort: [] };\n const sortValues = sortFilters\n .map(({ sort, propsToDisplay }) => {\n if (!sort) return null;\n\n const sortFieldName = getSortbyFieldName(relations, propsToDisplay, stringProps);\n return sortFieldName ? `${sortFieldName}:${sort.toLowerCase()}` : null;\n })\n .filter(Boolean)\n .join(',');\n\n return { sort: sortValues };\n};\nconst getCorrectSort = (relations, filterProps, stringProps, isTextSearchApplied) => {\n if (isTextSearchApplied) {\n return {};\n }\n const { sort, sortby, sortProperties = [] } = filterProps;\n\n return buildSortValues(\n [{ sort, propsToDisplay: sortby }, ...sortProperties],\n relations,\n stringProps\n );\n};\n\nconst getGenericRenderVariables = (\n relations,\n filterProps = {},\n stringProps = [],\n rawQueryStringified = '',\n isTextSearchFilterApplied = false\n) => {\n const { limit = DEFAULT_LIMIT, offset } = filterProps;\n const sort = getCorrectSort(relations, filterProps, stringProps, isTextSearchFilterApplied);\n const raw = rawQueryStringified ? { rawQueryStringified } : {};\n\n return {\n limit: Number(limit || DEFAULT_LIMIT),\n offset: Number(offset || DEFAULT_OFFSET),\n ...sort,\n ...raw\n };\n};\n\nexport default getGenericRenderVariables;\n"],"file":"get-generic-render-variables.js"}
1
+ {"version":3,"sources":["../../src/helpers/get-generic-render-variables.js"],"names":["buildSortValues","sortFilters","relations","stringProps","length","sort","sortValues","map","propsToDisplay","sortFieldName","toLowerCase","filter","Boolean","join","getCorrectSort","filterProps","isTextSearchApplied","sortby","sortProperties","getGenericRenderVariables","rawQuery","isTextSearchFilterApplied","useRandomSort","limit","DEFAULT_LIMIT","offset","limitToUse","Number","offsetToUse","DEFAULT_OFFSET","rawQueryStringified","JSON","stringify","query","function_score","random_score","boost_mode"],"mappings":"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","sourcesContent":["import getSortbyFieldName from './get-sort-by-field-name';\nimport { DEFAULT_LIMIT, DEFAULT_OFFSET } from '../constants';\n\nconst buildSortValues = (sortFilters, relations, stringProps) => {\n if (!sortFilters || !sortFilters.length) return { sort: [] };\n\n const sortValues = sortFilters\n .map(({ sort, propsToDisplay }) => {\n if (!sort) return null;\n\n const sortFieldName = getSortbyFieldName(relations, propsToDisplay, stringProps);\n return sortFieldName ? `${sortFieldName}:${sort.toLowerCase()}` : null;\n })\n .filter(Boolean)\n .join(',');\n\n return { sort: sortValues };\n};\nconst getCorrectSort = (relations, filterProps, stringProps, isTextSearchApplied) => {\n if (isTextSearchApplied) {\n return {};\n }\n const { sort, sortby, sortProperties = [] } = filterProps;\n\n return buildSortValues(\n [{ sort, propsToDisplay: sortby }, ...sortProperties],\n relations,\n stringProps\n );\n};\n\nconst getGenericRenderVariables = (\n relations,\n filterProps = {},\n stringProps = [],\n rawQuery = {},\n isTextSearchFilterApplied = false,\n useRandomSort = false\n) => {\n const { limit = DEFAULT_LIMIT, offset } = filterProps;\n const limitToUse = Number(limit || DEFAULT_LIMIT);\n const offsetToUse = Number(offset || DEFAULT_OFFSET);\n\n if (useRandomSort) {\n const rawQueryStringified = JSON.stringify({\n query: {\n function_score: {\n query: rawQuery,\n random_score: {},\n boost_mode: 'replace'\n }\n }\n });\n\n return {\n limit: limitToUse,\n offset: offsetToUse,\n rawQueryStringified\n };\n }\n\n const sort = getCorrectSort(relations, filterProps, stringProps, isTextSearchFilterApplied);\n\n return {\n limit: limitToUse,\n offset: offsetToUse,\n ...sort,\n rawQueryStringified: JSON.stringify({\n query: rawQuery\n })\n };\n};\n\nexport default getGenericRenderVariables;\n"],"file":"get-generic-render-variables.js"}
@@ -11,30 +11,42 @@ const AdSlotRender = ({
11
11
  parsedSizes,
12
12
  targetingArguments
13
13
  }) => {
14
- const [loadingStatus, setLoadingStatus] = useState(BANNER_LOADING);
14
+ const [{
15
+ loadingStatus = BANNER_LOADING,
16
+ minHeight
17
+ }, setLoadingStatus] = useState({});
15
18
  const bannerClass = `banner-${sizeId}`;
16
19
  const styles = loadingStatus === BANNER_LOADING && sizeMapping.map(({
17
20
  sizes: styleSizes,
18
21
  viewport: [minWidth]
19
22
  }) => {
20
- const minHeight = Math.min(...styleSizes.map(([, height]) => height));
21
- return `@media(min-width:${minWidth}px){.${bannerClass}{min-height:${minHeight}px;}`;
23
+ const minimumHeight = Math.min(...styleSizes.map(([, height]) => height));
24
+ return `@media(min-width:${minWidth}px){.${bannerClass}{min-height:${minimumHeight}px;}`;
22
25
  }).sort();
23
26
  const className = `ad-slot ad-slot-${loadingStatus} ${bannerClass}`;
24
- return /*#__PURE__*/React.createElement(React.Fragment, null, styles && /*#__PURE__*/React.createElement("style", null, styles), /*#__PURE__*/React.createElement("div", {
25
- className: className
27
+ return /*#__PURE__*/React.createElement(React.Fragment, null, styles && /*#__PURE__*/React.createElement("style", null, styles.join('\n')), /*#__PURE__*/React.createElement("div", {
28
+ className: className,
29
+ style: {
30
+ minHeight
31
+ }
26
32
  }, shouldShowBanner && /*#__PURE__*/React.createElement(AdSlot, {
27
33
  adUnit: parsedAdunit,
28
34
  sizes: parsedSizes,
29
35
  targetingArguments: targetingArguments,
30
36
  sizeMapping: sizeMapping,
31
- onSlotRender: ({
32
- event: {
33
- isEmpty
34
- }
35
- }) => {
37
+ onSlotRender: slotData => {
38
+ const {
39
+ event: {
40
+ isEmpty,
41
+ size
42
+ }
43
+ } = slotData;
44
+ const slotHeight = size && size.length ? size[1] : undefined;
36
45
  const newLoadingStatus = isEmpty ? BANNER_EMPTY : BANNER_LOADED;
37
- setLoadingStatus(newLoadingStatus);
46
+ setLoadingStatus({
47
+ loadingStatus: newLoadingStatus,
48
+ minHeight: slotHeight
49
+ });
38
50
  }
39
51
  })));
40
52
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Banner/AdSlotRender.js"],"names":["React","useState","AdSlot","PropTypes","BANNER_LOADING","BANNER_EMPTY","BANNER_LOADED","AdSlotRender","shouldShowBanner","sizeMapping","sizeId","parsedAdunit","parsedSizes","targetingArguments","loadingStatus","setLoadingStatus","bannerClass","styles","map","sizes","styleSizes","viewport","minWidth","minHeight","Math","min","height","sort","className","event","isEmpty","newLoadingStatus","propTypes","bool","isRequired","array","string","object","defaultProps"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,QAAhB,QAAgC,OAAhC;AACA,SAASC,MAAT,QAAuB,WAAvB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,cAAT,EAAyBC,YAAzB,EAAuCC,aAAvC,QAA4D,iBAA5D;;AAEA,MAAMC,YAAY,GAAG,CAAC;AACpBC,EAAAA,gBADoB;AAEpBC,EAAAA,WAFoB;AAGpBC,EAAAA,MAHoB;AAIpBC,EAAAA,YAJoB;AAKpBC,EAAAA,WALoB;AAMpBC,EAAAA;AANoB,CAAD,KAOf;AACJ,QAAM,CAACC,aAAD,EAAgBC,gBAAhB,IAAoCd,QAAQ,CAACG,cAAD,CAAlD;AAEA,QAAMY,WAAW,GAAI,UAASN,MAAO,EAArC;AAEA,QAAMO,MAAM,GACVH,aAAa,KAAKV,cAAlB,IACAK,WAAW,CACRS,GADH,CACO,CAAC;AAAEC,IAAAA,KAAK,EAAEC,UAAT;AAAqBC,IAAAA,QAAQ,EAAE,CAACC,QAAD;AAA/B,GAAD,KAAiD;AACpD,UAAMC,SAAS,GAAGC,IAAI,CAACC,GAAL,CAAS,GAAGL,UAAU,CAACF,GAAX,CAAe,CAAC,GAAGQ,MAAH,CAAD,KAAgBA,MAA/B,CAAZ,CAAlB;AACA,WAAQ,oBAAmBJ,QAAS,QAAON,WAAY,eAAcO,SAAU,MAA/E;AACD,GAJH,EAKGI,IALH,EAFF;AAQA,QAAMC,SAAS,GAAI,mBAAkBd,aAAc,IAAGE,WAAY,EAAlE;AAEA,sBACE,0CACGC,MAAM,iBAAI,mCAAQA,MAAR,CADb,eAEE;AAAK,IAAA,SAAS,EAAEW;AAAhB,KACGpB,gBAAgB,iBACf,oBAAC,MAAD;AACE,IAAA,MAAM,EAAEG,YADV;AAEE,IAAA,KAAK,EAAEC,WAFT;AAGE,IAAA,kBAAkB,EAAEC,kBAHtB;AAIE,IAAA,WAAW,EAAEJ,WAJf;AAKE,IAAA,YAAY,EAAE,CAAC;AAAEoB,MAAAA,KAAK,EAAE;AAAEC,QAAAA;AAAF;AAAT,KAAD,KAA4B;AACxC,YAAMC,gBAAgB,GAAGD,OAAO,GAAGzB,YAAH,GAAkBC,aAAlD;AACAS,MAAAA,gBAAgB,CAACgB,gBAAD,CAAhB;AACD;AARH,IAFJ,CAFF,CADF;AAmBD,CAzCD;;AA2CAxB,YAAY,CAACyB,SAAb,GAAyB;AACvBxB,EAAAA,gBAAgB,EAAEL,SAAS,CAAC8B,IAAV,CAAeC,UADV;AAEvBzB,EAAAA,WAAW,EAAEN,SAAS,CAACgC,KAAV,CAAgBD,UAFN;AAGvBxB,EAAAA,MAAM,EAAEP,SAAS,CAACiC,MAAV,CAAiBF,UAHF;AAIvBvB,EAAAA,YAAY,EAAER,SAAS,CAACiC,MAAV,CAAiBF,UAJR;AAKvBtB,EAAAA,WAAW,EAAET,SAAS,CAACgC,KALA;AAMvBtB,EAAAA,kBAAkB,EAAEV,SAAS,CAACkC,MAAV,CAAiBH;AANd,CAAzB;AASA3B,YAAY,CAAC+B,YAAb,GAA4B;AAC1B1B,EAAAA,WAAW,EAAE;AADa,CAA5B;AAIA,eAAeL,YAAf","sourcesContent":["import React, { useState } from 'react';\nimport { AdSlot } from 'react-dfp';\nimport PropTypes from 'prop-types';\nimport { BANNER_LOADING, BANNER_EMPTY, BANNER_LOADED } from '../../constants';\n\nconst AdSlotRender = ({\n shouldShowBanner,\n sizeMapping,\n sizeId,\n parsedAdunit,\n parsedSizes,\n targetingArguments\n}) => {\n const [loadingStatus, setLoadingStatus] = useState(BANNER_LOADING);\n\n const bannerClass = `banner-${sizeId}`;\n\n const styles =\n loadingStatus === BANNER_LOADING &&\n sizeMapping\n .map(({ sizes: styleSizes, viewport: [minWidth] }) => {\n const minHeight = Math.min(...styleSizes.map(([, height]) => height));\n return `@media(min-width:${minWidth}px){.${bannerClass}{min-height:${minHeight}px;}`;\n })\n .sort();\n const className = `ad-slot ad-slot-${loadingStatus} ${bannerClass}`;\n\n return (\n <>\n {styles && <style>{styles}</style>}\n <div className={className}>\n {shouldShowBanner && (\n <AdSlot\n adUnit={parsedAdunit}\n sizes={parsedSizes}\n targetingArguments={targetingArguments}\n sizeMapping={sizeMapping}\n onSlotRender={({ event: { isEmpty } }) => {\n const newLoadingStatus = isEmpty ? BANNER_EMPTY : BANNER_LOADED;\n setLoadingStatus(newLoadingStatus);\n }}\n />\n )}\n </div>\n </>\n );\n};\n\nAdSlotRender.propTypes = {\n shouldShowBanner: PropTypes.bool.isRequired,\n sizeMapping: PropTypes.array.isRequired,\n sizeId: PropTypes.string.isRequired,\n parsedAdunit: PropTypes.string.isRequired,\n parsedSizes: PropTypes.array,\n targetingArguments: PropTypes.object.isRequired\n};\n\nAdSlotRender.defaultProps = {\n parsedSizes: null\n};\n\nexport default AdSlotRender;\n"],"file":"AdSlotRender.js"}
1
+ {"version":3,"sources":["../../../src/components/Banner/AdSlotRender.js"],"names":["React","useState","AdSlot","PropTypes","BANNER_LOADING","BANNER_EMPTY","BANNER_LOADED","AdSlotRender","shouldShowBanner","sizeMapping","sizeId","parsedAdunit","parsedSizes","targetingArguments","loadingStatus","minHeight","setLoadingStatus","bannerClass","styles","map","sizes","styleSizes","viewport","minWidth","minimumHeight","Math","min","height","sort","className","join","slotData","event","isEmpty","size","slotHeight","length","undefined","newLoadingStatus","propTypes","bool","isRequired","array","string","object","defaultProps"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,QAAhB,QAAgC,OAAhC;AACA,SAASC,MAAT,QAAuB,WAAvB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,cAAT,EAAyBC,YAAzB,EAAuCC,aAAvC,QAA4D,iBAA5D;;AAEA,MAAMC,YAAY,GAAG,CAAC;AACpBC,EAAAA,gBADoB;AAEpBC,EAAAA,WAFoB;AAGpBC,EAAAA,MAHoB;AAIpBC,EAAAA,YAJoB;AAKpBC,EAAAA,WALoB;AAMpBC,EAAAA;AANoB,CAAD,KAOf;AACJ,QAAM,CAAC;AAAEC,IAAAA,aAAa,GAAGV,cAAlB;AAAkCW,IAAAA;AAAlC,GAAD,EAAgDC,gBAAhD,IAAoEf,QAAQ,CAAC,EAAD,CAAlF;AAEA,QAAMgB,WAAW,GAAI,UAASP,MAAO,EAArC;AAEA,QAAMQ,MAAM,GACVJ,aAAa,KAAKV,cAAlB,IACAK,WAAW,CACRU,GADH,CACO,CAAC;AAAEC,IAAAA,KAAK,EAAEC,UAAT;AAAqBC,IAAAA,QAAQ,EAAE,CAACC,QAAD;AAA/B,GAAD,KAAiD;AACpD,UAAMC,aAAa,GAAGC,IAAI,CAACC,GAAL,CAAS,GAAGL,UAAU,CAACF,GAAX,CAAe,CAAC,GAAGQ,MAAH,CAAD,KAAgBA,MAA/B,CAAZ,CAAtB;AACA,WAAQ,oBAAmBJ,QAAS,QAAON,WAAY,eAAcO,aAAc,MAAnF;AACD,GAJH,EAKGI,IALH,EAFF;AAQA,QAAMC,SAAS,GAAI,mBAAkBf,aAAc,IAAGG,WAAY,EAAlE;AAEA,sBACE,0CACGC,MAAM,iBAAI,mCAAQA,MAAM,CAACY,IAAP,CAAY,IAAZ,CAAR,CADb,eAEE;AAAK,IAAA,SAAS,EAAED,SAAhB;AAA2B,IAAA,KAAK,EAAE;AAAEd,MAAAA;AAAF;AAAlC,KACGP,gBAAgB,iBACf,oBAAC,MAAD;AACE,IAAA,MAAM,EAAEG,YADV;AAEE,IAAA,KAAK,EAAEC,WAFT;AAGE,IAAA,kBAAkB,EAAEC,kBAHtB;AAIE,IAAA,WAAW,EAAEJ,WAJf;AAKE,IAAA,YAAY,EAAEsB,QAAQ,IAAI;AACxB,YAAM;AACJC,QAAAA,KAAK,EAAE;AAAEC,UAAAA,OAAF;AAAWC,UAAAA;AAAX;AADH,UAEFH,QAFJ;AAGA,YAAMI,UAAU,GAAGD,IAAI,IAAIA,IAAI,CAACE,MAAb,GAAsBF,IAAI,CAAC,CAAD,CAA1B,GAAgCG,SAAnD;AACA,YAAMC,gBAAgB,GAAGL,OAAO,GAAG5B,YAAH,GAAkBC,aAAlD;AACAU,MAAAA,gBAAgB,CAAC;AAAEF,QAAAA,aAAa,EAAEwB,gBAAjB;AAAmCvB,QAAAA,SAAS,EAAEoB;AAA9C,OAAD,CAAhB;AACD;AAZH,IAFJ,CAFF,CADF;AAuBD,CA7CD;;AA+CA5B,YAAY,CAACgC,SAAb,GAAyB;AACvB/B,EAAAA,gBAAgB,EAAEL,SAAS,CAACqC,IAAV,CAAeC,UADV;AAEvBhC,EAAAA,WAAW,EAAEN,SAAS,CAACuC,KAAV,CAAgBD,UAFN;AAGvB/B,EAAAA,MAAM,EAAEP,SAAS,CAACwC,MAAV,CAAiBF,UAHF;AAIvB9B,EAAAA,YAAY,EAAER,SAAS,CAACwC,MAAV,CAAiBF,UAJR;AAKvB7B,EAAAA,WAAW,EAAET,SAAS,CAACuC,KALA;AAMvB7B,EAAAA,kBAAkB,EAAEV,SAAS,CAACyC,MAAV,CAAiBH;AANd,CAAzB;AASAlC,YAAY,CAACsC,YAAb,GAA4B;AAC1BjC,EAAAA,WAAW,EAAE;AADa,CAA5B;AAIA,eAAeL,YAAf","sourcesContent":["import React, { useState } from 'react';\nimport { AdSlot } from 'react-dfp';\nimport PropTypes from 'prop-types';\nimport { BANNER_LOADING, BANNER_EMPTY, BANNER_LOADED } from '../../constants';\n\nconst AdSlotRender = ({\n shouldShowBanner,\n sizeMapping,\n sizeId,\n parsedAdunit,\n parsedSizes,\n targetingArguments\n}) => {\n const [{ loadingStatus = BANNER_LOADING, minHeight }, setLoadingStatus] = useState({});\n\n const bannerClass = `banner-${sizeId}`;\n\n const styles =\n loadingStatus === BANNER_LOADING &&\n sizeMapping\n .map(({ sizes: styleSizes, viewport: [minWidth] }) => {\n const minimumHeight = Math.min(...styleSizes.map(([, height]) => height));\n return `@media(min-width:${minWidth}px){.${bannerClass}{min-height:${minimumHeight}px;}`;\n })\n .sort();\n const className = `ad-slot ad-slot-${loadingStatus} ${bannerClass}`;\n\n return (\n <>\n {styles && <style>{styles.join('\\n')}</style>}\n <div className={className} style={{ minHeight }}>\n {shouldShowBanner && (\n <AdSlot\n adUnit={parsedAdunit}\n sizes={parsedSizes}\n targetingArguments={targetingArguments}\n sizeMapping={sizeMapping}\n onSlotRender={slotData => {\n const {\n event: { isEmpty, size }\n } = slotData;\n const slotHeight = size && size.length ? size[1] : undefined;\n const newLoadingStatus = isEmpty ? BANNER_EMPTY : BANNER_LOADED;\n setLoadingStatus({ loadingStatus: newLoadingStatus, minHeight: slotHeight });\n }}\n />\n )}\n </div>\n </>\n );\n};\n\nAdSlotRender.propTypes = {\n shouldShowBanner: PropTypes.bool.isRequired,\n sizeMapping: PropTypes.array.isRequired,\n sizeId: PropTypes.string.isRequired,\n parsedAdunit: PropTypes.string.isRequired,\n parsedSizes: PropTypes.array,\n targetingArguments: PropTypes.object.isRequired\n};\n\nAdSlotRender.defaultProps = {\n parsedSizes: null\n};\n\nexport default AdSlotRender;\n"],"file":"AdSlotRender.js"}
@@ -32,6 +32,7 @@ const BlazeLink = ({
32
32
  name,
33
33
  as
34
34
  }, gtmProps));
35
+ if (!href) return children;
35
36
  return /*#__PURE__*/React.createElement(Link, _extends({
36
37
  href: href,
37
38
  shallow: shallow,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/BlazeLink.js"],"names":["React","useContext","PropTypes","Link","MainContext","buildLinkExtraProps","BlazeLink","children","className","name","href","as","shallow","scroll","gtmId","onClick","hasGTM","gtmProps","linkExtraProps","propTypes","oneOfType","arrayOf","node","string","title","bool","func","defaultProps"],"mappings":";;;;;;;AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,IAAT,EAAeC,WAAf,QAAkC,8BAAlC;AACA,OAAOC,mBAAP,MAAgC,mCAAhC;;AAEA,MAAMC,SAAS,GAAG,CAAC;AAAEC,EAAAA,QAAF;AAAYC,EAAAA,SAAZ;AAAuBC,EAAAA,IAAvB;AAA6BC,EAAAA,IAA7B;AAAmCC,EAAAA,EAAnC;AAAuCC,EAAAA,OAAvC;AAAgDC,EAAAA,MAAhD;AAAwDC,EAAAA,KAAxD;AAA+DC,EAAAA;AAA/D,CAAD,KAA8E;AAC9F,QAAM;AAAEC,IAAAA;AAAF,MAAaf,UAAU,CAACG,WAAD,CAA7B;AACA,QAAMa,QAAQ,GAAGD,MAAM,IAAI,CAAC,CAACF,KAAZ,GAAoB;AAAEA,IAAAA;AAAF,GAApB,GAAgC,EAAjD;AACA,QAAMI,cAAc,GAAGb,mBAAmB;AAAGG,IAAAA,SAAH;AAAcC,IAAAA,IAAd;AAAoBE,IAAAA;AAApB,KAA2BM,QAA3B,EAA1C;AAEA,sBACE,oBAAC,IAAD;AAAM,IAAA,IAAI,EAAEP,IAAZ;AAAkB,IAAA,OAAO,EAAEE,OAA3B;AAAoC,IAAA,MAAM,EAAEC,MAA5C;AAAoD,IAAA,OAAO,EAAEE;AAA7D,KAA0EG,cAA1E,GACGX,QADH,CADF;AAKD,CAVD;;AAYAD,SAAS,CAACa,SAAV,GAAsB;AACpBZ,EAAAA,QAAQ,EAAEL,SAAS,CAACkB,SAAV,CAAoB,CAAClB,SAAS,CAACmB,OAAV,CAAkBnB,SAAS,CAACoB,IAA5B,CAAD,EAAoCpB,SAAS,CAACoB,IAA9C,CAApB,CADU;AAEpBZ,EAAAA,IAAI,EAAER,SAAS,CAACqB,MAFI;AAGpBZ,EAAAA,EAAE,EAAET,SAAS,CAACqB,MAHM;AAIpBd,EAAAA,IAAI,EAAEP,SAAS,CAACqB,MAJI;AAKpBC,EAAAA,KAAK,EAAEtB,SAAS,CAACqB,MALG;AAMpBf,EAAAA,SAAS,EAAEN,SAAS,CAACqB,MAND;AAOpBX,EAAAA,OAAO,EAAEV,SAAS,CAACuB,IAPC;AAQpBZ,EAAAA,MAAM,EAAEX,SAAS,CAACuB,IARE;AASpBX,EAAAA,KAAK,EAAEZ,SAAS,CAACqB,MATG;AAUpBR,EAAAA,OAAO,EAAEb,SAAS,CAACwB;AAVC,CAAtB;AAaApB,SAAS,CAACqB,YAAV,GAAyB;AACvBpB,EAAAA,QAAQ,EAAE,EADa;AAEvBI,EAAAA,EAAE,EAAE,EAFmB;AAGvBD,EAAAA,IAAI,EAAE,GAHiB;AAIvBD,EAAAA,IAAI,EAAE,EAJiB;AAKvBe,EAAAA,KAAK,EAAE,EALgB;AAMvBhB,EAAAA,SAAS,EAAE,EANY;AAOvBI,EAAAA,OAAO,EAAE,KAPc;AAQvBC,EAAAA,MAAM,EAAE,IARe;AASvBC,EAAAA,KAAK,EAAE,EATgB;AAUvBC,EAAAA,OAAO,EAAE;AAVc,CAAzB;AAaA,eAAeT,SAAf","sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { Link, MainContext } from '@blaze-cms/nextjs-components';\nimport buildLinkExtraProps from '../helpers/build-link-extra-props';\n\nconst BlazeLink = ({ children, className, name, href, as, shallow, scroll, gtmId, onClick }) => {\n const { hasGTM } = useContext(MainContext);\n const gtmProps = hasGTM && !!gtmId ? { gtmId } : {};\n const linkExtraProps = buildLinkExtraProps({ className, name, as, ...gtmProps });\n\n return (\n <Link href={href} shallow={shallow} scroll={scroll} onClick={onClick} {...linkExtraProps}>\n {children}\n </Link>\n );\n};\n\nBlazeLink.propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n href: PropTypes.string,\n as: PropTypes.string,\n name: PropTypes.string,\n title: PropTypes.string,\n className: PropTypes.string,\n shallow: PropTypes.bool,\n scroll: PropTypes.bool,\n gtmId: PropTypes.string,\n onClick: PropTypes.func\n};\n\nBlazeLink.defaultProps = {\n children: [],\n as: '',\n href: '/',\n name: '',\n title: '',\n className: '',\n shallow: false,\n scroll: null,\n gtmId: '',\n onClick: null\n};\n\nexport default BlazeLink;\n"],"file":"BlazeLink.js"}
1
+ {"version":3,"sources":["../../src/components/BlazeLink.js"],"names":["React","useContext","PropTypes","Link","MainContext","buildLinkExtraProps","BlazeLink","children","className","name","href","as","shallow","scroll","gtmId","onClick","hasGTM","gtmProps","linkExtraProps","propTypes","oneOfType","arrayOf","node","string","title","bool","func","defaultProps"],"mappings":";;;;;;;AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,IAAT,EAAeC,WAAf,QAAkC,8BAAlC;AACA,OAAOC,mBAAP,MAAgC,mCAAhC;;AAEA,MAAMC,SAAS,GAAG,CAAC;AAAEC,EAAAA,QAAF;AAAYC,EAAAA,SAAZ;AAAuBC,EAAAA,IAAvB;AAA6BC,EAAAA,IAA7B;AAAmCC,EAAAA,EAAnC;AAAuCC,EAAAA,OAAvC;AAAgDC,EAAAA,MAAhD;AAAwDC,EAAAA,KAAxD;AAA+DC,EAAAA;AAA/D,CAAD,KAA8E;AAC9F,QAAM;AAAEC,IAAAA;AAAF,MAAaf,UAAU,CAACG,WAAD,CAA7B;AACA,QAAMa,QAAQ,GAAGD,MAAM,IAAI,CAAC,CAACF,KAAZ,GAAoB;AAAEA,IAAAA;AAAF,GAApB,GAAgC,EAAjD;AACA,QAAMI,cAAc,GAAGb,mBAAmB;AAAGG,IAAAA,SAAH;AAAcC,IAAAA,IAAd;AAAoBE,IAAAA;AAApB,KAA2BM,QAA3B,EAA1C;AACA,MAAI,CAACP,IAAL,EAAW,OAAOH,QAAP;AAEX,sBACE,oBAAC,IAAD;AAAM,IAAA,IAAI,EAAEG,IAAZ;AAAkB,IAAA,OAAO,EAAEE,OAA3B;AAAoC,IAAA,MAAM,EAAEC,MAA5C;AAAoD,IAAA,OAAO,EAAEE;AAA7D,KAA0EG,cAA1E,GACGX,QADH,CADF;AAKD,CAXD;;AAaAD,SAAS,CAACa,SAAV,GAAsB;AACpBZ,EAAAA,QAAQ,EAAEL,SAAS,CAACkB,SAAV,CAAoB,CAAClB,SAAS,CAACmB,OAAV,CAAkBnB,SAAS,CAACoB,IAA5B,CAAD,EAAoCpB,SAAS,CAACoB,IAA9C,CAApB,CADU;AAEpBZ,EAAAA,IAAI,EAAER,SAAS,CAACqB,MAFI;AAGpBZ,EAAAA,EAAE,EAAET,SAAS,CAACqB,MAHM;AAIpBd,EAAAA,IAAI,EAAEP,SAAS,CAACqB,MAJI;AAKpBC,EAAAA,KAAK,EAAEtB,SAAS,CAACqB,MALG;AAMpBf,EAAAA,SAAS,EAAEN,SAAS,CAACqB,MAND;AAOpBX,EAAAA,OAAO,EAAEV,SAAS,CAACuB,IAPC;AAQpBZ,EAAAA,MAAM,EAAEX,SAAS,CAACuB,IARE;AASpBX,EAAAA,KAAK,EAAEZ,SAAS,CAACqB,MATG;AAUpBR,EAAAA,OAAO,EAAEb,SAAS,CAACwB;AAVC,CAAtB;AAaApB,SAAS,CAACqB,YAAV,GAAyB;AACvBpB,EAAAA,QAAQ,EAAE,EADa;AAEvBI,EAAAA,EAAE,EAAE,EAFmB;AAGvBD,EAAAA,IAAI,EAAE,GAHiB;AAIvBD,EAAAA,IAAI,EAAE,EAJiB;AAKvBe,EAAAA,KAAK,EAAE,EALgB;AAMvBhB,EAAAA,SAAS,EAAE,EANY;AAOvBI,EAAAA,OAAO,EAAE,KAPc;AAQvBC,EAAAA,MAAM,EAAE,IARe;AASvBC,EAAAA,KAAK,EAAE,EATgB;AAUvBC,EAAAA,OAAO,EAAE;AAVc,CAAzB;AAaA,eAAeT,SAAf","sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { Link, MainContext } from '@blaze-cms/nextjs-components';\nimport buildLinkExtraProps from '../helpers/build-link-extra-props';\n\nconst BlazeLink = ({ children, className, name, href, as, shallow, scroll, gtmId, onClick }) => {\n const { hasGTM } = useContext(MainContext);\n const gtmProps = hasGTM && !!gtmId ? { gtmId } : {};\n const linkExtraProps = buildLinkExtraProps({ className, name, as, ...gtmProps });\n if (!href) return children;\n\n return (\n <Link href={href} shallow={shallow} scroll={scroll} onClick={onClick} {...linkExtraProps}>\n {children}\n </Link>\n );\n};\n\nBlazeLink.propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n href: PropTypes.string,\n as: PropTypes.string,\n name: PropTypes.string,\n title: PropTypes.string,\n className: PropTypes.string,\n shallow: PropTypes.bool,\n scroll: PropTypes.bool,\n gtmId: PropTypes.string,\n onClick: PropTypes.func\n};\n\nBlazeLink.defaultProps = {\n children: [],\n as: '',\n href: '/',\n name: '',\n title: '',\n className: '',\n shallow: false,\n scroll: null,\n gtmId: '',\n onClick: null\n};\n\nexport default BlazeLink;\n"],"file":"BlazeLink.js"}
@@ -101,7 +101,7 @@ const Card = _ref => {
101
101
  className: "badge badge--label"
102
102
  }, label)), displayTitle && /*#__PURE__*/React.createElement("h2", {
103
103
  className: getModifiers('card__title', modifiers)
104
- }, url && /*#__PURE__*/React.createElement(BlazeLink, {
104
+ }, /*#__PURE__*/React.createElement(BlazeLink, {
105
105
  title: linkTitle,
106
106
  gtmId: gtmId,
107
107
  href: url,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Card/Card.js"],"names":["React","Fragment","PropTypes","BlazeLink","ClickWrapper","getModifiers","renderChildren","updateChildrensParent","getClickWrapperOptions","LazyImage","getPublishedListingUrl","useDynamicSizeKey","CARD_STRING","Card","id","image","name","url","entity","entityProps","alternativePreHeader","alternativeHeadline","category","modifier","propsToDisplay","propsToDisplayModifiers","gtmId","style","priority","cardChildren","gtmChildren","displayCategory","displayThumbnail","displayTitle","gridModifier","otherProps","imageSrc","shouldDisplayThumbnail","altText","getImageDefinedProps","modifiers","getInitialModifiers","publishedListingPage","preHeader","label","headline","getCategoryDefinedProps","linkTitle","dynamicSizeKey","shouldUseClickWrapper","wrapperProps","Wrapper","classNameWithModifiers","length","map","prop","i","dynamicKey","propModifier","propTypes","string","isRequired","shape","data","object","array","bool","oneOfType","arrayOf","node","defaultProps","hasAlternativePreHeader","sponsored","featured","push"],"mappings":"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","sourcesContent":["import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport BlazeLink from '../BlazeLink';\nimport ClickWrapper from '../ClickWrapper';\nimport {\n getModifiers,\n renderChildren,\n updateChildrensParent,\n getClickWrapperOptions\n} from '../../helpers';\nimport LazyImage from '../LazyImage';\nimport { getPublishedListingUrl, useDynamicSizeKey } from './helpers';\nimport { CARD_STRING } from './constants';\n\nconst Card = ({\n id,\n image,\n name,\n url,\n entity,\n entityProps,\n alternativePreHeader,\n alternativeHeadline,\n category,\n modifier,\n propsToDisplay,\n propsToDisplayModifiers,\n gtmId,\n style,\n priority,\n cardChildren,\n gtmChildren,\n displayCategory,\n displayThumbnail,\n displayTitle,\n gridModifier,\n ...otherProps\n}) => {\n updateChildrensParent(cardChildren, id, entity);\n const { imageSrc, shouldDisplayThumbnail, altText } = getImageDefinedProps({\n image,\n displayThumbnail\n });\n\n const modifiers = getInitialModifiers({ modifier, style, otherProps });\n\n const { publishedListingPage, preHeader, label, headline } = getCategoryDefinedProps({\n alternativePreHeader,\n category,\n entity,\n alternativeHeadline,\n displayCategory,\n name\n });\n const linkTitle = name;\n const dynamicSizeKey = useDynamicSizeKey(CARD_STRING, { style, gridModifier, modifier });\n const { shouldUseClickWrapper, wrapperProps } = getClickWrapperOptions(\n gtmChildren,\n entityProps,\n id\n );\n const Wrapper = shouldUseClickWrapper ? ClickWrapper : Fragment;\n const classNameWithModifiers = getModifiers(CARD_STRING, modifiers);\n\n return (\n <Wrapper {...wrapperProps}>\n <div className={classNameWithModifiers}>\n {shouldDisplayThumbnail && (\n <div className={getModifiers('card__image', modifiers)}>\n <BlazeLink gtmId={gtmId} href={url} className=\"card__image-link\" scroll>\n <LazyImage\n src={imageSrc}\n alt={altText}\n sizeKey={dynamicSizeKey}\n priority={priority}\n />\n </BlazeLink>\n </div>\n )}\n <div className={getModifiers('card__content-wrapper', modifiers)}>\n <div className={getModifiers('card__content', modifiers)}>\n {displayCategory &&\n (publishedListingPage ? (\n <BlazeLink\n gtmId={gtmId}\n href={publishedListingPage}\n className=\"badge badge--label\"\n scroll>\n {preHeader.name}\n </BlazeLink>\n ) : (\n <div className=\"badge badge--label\">{label}</div>\n ))}\n {displayTitle && (\n <h2 className={getModifiers('card__title', modifiers)}>\n {url && (\n <BlazeLink title={linkTitle} gtmId={gtmId} href={url} scroll>\n {headline}\n </BlazeLink>\n )}\n </h2>\n )}\n {!!propsToDisplay.length && (\n <div className={getModifiers('card__details', modifiers)}>\n {propsToDisplay.map((prop, i) => {\n if (!prop) return null;\n const dynamicKey = `${id}${i}`;\n const propModifier = propsToDisplayModifiers[i] || '';\n\n return (\n <span key={dynamicKey} className={propModifier}>\n {prop}\n </span>\n );\n })}\n </div>\n )}\n </div>\n {!!cardChildren && (\n <div className=\"card__child-content\">{renderChildren(cardChildren)}</div>\n )}\n </div>\n </div>\n </Wrapper>\n );\n};\n\nCard.propTypes = {\n id: PropTypes.string.isRequired,\n image: PropTypes.shape({\n url: PropTypes.string,\n data: PropTypes.object\n }),\n style: PropTypes.string,\n propsToDisplay: PropTypes.array,\n propsToDisplayModifiers: PropTypes.array,\n url: PropTypes.string,\n name: PropTypes.string.isRequired,\n entity: PropTypes.string.isRequired,\n entityProps: PropTypes.object,\n gtmId: PropTypes.string,\n alternativePreHeader: PropTypes.shape({\n name: PropTypes.string\n }),\n alternativeHeadline: PropTypes.string,\n category: PropTypes.shape({\n name: PropTypes.string,\n publishedListingPage: PropTypes.shape({\n url: PropTypes.string\n })\n }),\n modifier: PropTypes.string,\n displayCategory: PropTypes.bool.isRequired,\n displayThumbnail: PropTypes.bool.isRequired,\n displayTitle: PropTypes.bool.isRequired,\n cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gridModifier: PropTypes.string,\n priority: PropTypes.bool\n};\n\nCard.defaultProps = {\n entityProps: {},\n image: {\n url: null,\n data: {}\n },\n gtmId: '',\n style: 'portrait',\n propsToDisplay: [],\n propsToDisplayModifiers: [],\n url: '',\n alternativePreHeader: null,\n alternativeHeadline: '',\n category: null,\n modifier: '',\n cardChildren: [],\n gtmChildren: [],\n gridModifier: '',\n priority: false\n};\n\nconst getCategoryDefinedProps = ({\n alternativePreHeader,\n category,\n entity,\n alternativeHeadline,\n displayCategory,\n name\n}) => {\n const hasAlternativePreHeader = alternativePreHeader && alternativePreHeader.name;\n const preHeader =\n alternativeHeadline && hasAlternativePreHeader ? alternativePreHeader : category;\n const publishedListingPage = getPublishedListingUrl(preHeader);\n const label = preHeader ? preHeader.name : entity;\n const headline =\n !displayCategory || !hasAlternativePreHeader ? name : alternativeHeadline || name;\n return { publishedListingPage, preHeader, label, headline };\n};\n\nconst getImageDefinedProps = ({ image, displayThumbnail }) => {\n const { url: imageSrc, data } = image || {};\n const shouldDisplayThumbnail = displayThumbnail && imageSrc;\n const altText = (data && data.altText) || '';\n return { imageSrc, shouldDisplayThumbnail, altText };\n};\n\nconst getInitialModifiers = ({ modifier, style, otherProps }) => {\n const modifiers = [modifier, style];\n const { sponsored, featured } = otherProps;\n if (sponsored) modifiers.push('sponsored');\n if (featured) modifiers.push('featured');\n\n return modifiers;\n};\n\nexport default Card;\n"],"file":"Card.js"}
1
+ {"version":3,"sources":["../../../src/components/Card/Card.js"],"names":["React","Fragment","PropTypes","BlazeLink","ClickWrapper","getModifiers","renderChildren","updateChildrensParent","getClickWrapperOptions","LazyImage","getPublishedListingUrl","useDynamicSizeKey","CARD_STRING","Card","id","image","name","url","entity","entityProps","alternativePreHeader","alternativeHeadline","category","modifier","propsToDisplay","propsToDisplayModifiers","gtmId","style","priority","cardChildren","gtmChildren","displayCategory","displayThumbnail","displayTitle","gridModifier","otherProps","imageSrc","shouldDisplayThumbnail","altText","getImageDefinedProps","modifiers","getInitialModifiers","publishedListingPage","preHeader","label","headline","getCategoryDefinedProps","linkTitle","dynamicSizeKey","shouldUseClickWrapper","wrapperProps","Wrapper","classNameWithModifiers","length","map","prop","i","dynamicKey","propModifier","propTypes","string","isRequired","shape","data","object","array","bool","oneOfType","arrayOf","node","defaultProps","hasAlternativePreHeader","sponsored","featured","push"],"mappings":"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","sourcesContent":["import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport BlazeLink from '../BlazeLink';\nimport ClickWrapper from '../ClickWrapper';\nimport {\n getModifiers,\n renderChildren,\n updateChildrensParent,\n getClickWrapperOptions\n} from '../../helpers';\nimport LazyImage from '../LazyImage';\nimport { getPublishedListingUrl, useDynamicSizeKey } from './helpers';\nimport { CARD_STRING } from './constants';\n\nconst Card = ({\n id,\n image,\n name,\n url,\n entity,\n entityProps,\n alternativePreHeader,\n alternativeHeadline,\n category,\n modifier,\n propsToDisplay,\n propsToDisplayModifiers,\n gtmId,\n style,\n priority,\n cardChildren,\n gtmChildren,\n displayCategory,\n displayThumbnail,\n displayTitle,\n gridModifier,\n ...otherProps\n}) => {\n updateChildrensParent(cardChildren, id, entity);\n const { imageSrc, shouldDisplayThumbnail, altText } = getImageDefinedProps({\n image,\n displayThumbnail\n });\n\n const modifiers = getInitialModifiers({ modifier, style, otherProps });\n\n const { publishedListingPage, preHeader, label, headline } = getCategoryDefinedProps({\n alternativePreHeader,\n category,\n entity,\n alternativeHeadline,\n displayCategory,\n name\n });\n const linkTitle = name;\n const dynamicSizeKey = useDynamicSizeKey(CARD_STRING, { style, gridModifier, modifier });\n const { shouldUseClickWrapper, wrapperProps } = getClickWrapperOptions(\n gtmChildren,\n entityProps,\n id\n );\n const Wrapper = shouldUseClickWrapper ? ClickWrapper : Fragment;\n const classNameWithModifiers = getModifiers(CARD_STRING, modifiers);\n\n return (\n <Wrapper {...wrapperProps}>\n <div className={classNameWithModifiers}>\n {shouldDisplayThumbnail && (\n <div className={getModifiers('card__image', modifiers)}>\n <BlazeLink gtmId={gtmId} href={url} className=\"card__image-link\" scroll>\n <LazyImage\n src={imageSrc}\n alt={altText}\n sizeKey={dynamicSizeKey}\n priority={priority}\n />\n </BlazeLink>\n </div>\n )}\n <div className={getModifiers('card__content-wrapper', modifiers)}>\n <div className={getModifiers('card__content', modifiers)}>\n {displayCategory &&\n (publishedListingPage ? (\n <BlazeLink\n gtmId={gtmId}\n href={publishedListingPage}\n className=\"badge badge--label\"\n scroll>\n {preHeader.name}\n </BlazeLink>\n ) : (\n <div className=\"badge badge--label\">{label}</div>\n ))}\n {displayTitle && (\n <h2 className={getModifiers('card__title', modifiers)}>\n <BlazeLink title={linkTitle} gtmId={gtmId} href={url} scroll>\n {headline}\n </BlazeLink>\n </h2>\n )}\n {!!propsToDisplay.length && (\n <div className={getModifiers('card__details', modifiers)}>\n {propsToDisplay.map((prop, i) => {\n if (!prop) return null;\n const dynamicKey = `${id}${i}`;\n const propModifier = propsToDisplayModifiers[i] || '';\n\n return (\n <span key={dynamicKey} className={propModifier}>\n {prop}\n </span>\n );\n })}\n </div>\n )}\n </div>\n {!!cardChildren && (\n <div className=\"card__child-content\">{renderChildren(cardChildren)}</div>\n )}\n </div>\n </div>\n </Wrapper>\n );\n};\n\nCard.propTypes = {\n id: PropTypes.string.isRequired,\n image: PropTypes.shape({\n url: PropTypes.string,\n data: PropTypes.object\n }),\n style: PropTypes.string,\n propsToDisplay: PropTypes.array,\n propsToDisplayModifiers: PropTypes.array,\n url: PropTypes.string,\n name: PropTypes.string.isRequired,\n entity: PropTypes.string.isRequired,\n entityProps: PropTypes.object,\n gtmId: PropTypes.string,\n alternativePreHeader: PropTypes.shape({\n name: PropTypes.string\n }),\n alternativeHeadline: PropTypes.string,\n category: PropTypes.shape({\n name: PropTypes.string,\n publishedListingPage: PropTypes.shape({\n url: PropTypes.string\n })\n }),\n modifier: PropTypes.string,\n displayCategory: PropTypes.bool.isRequired,\n displayThumbnail: PropTypes.bool.isRequired,\n displayTitle: PropTypes.bool.isRequired,\n cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gridModifier: PropTypes.string,\n priority: PropTypes.bool\n};\n\nCard.defaultProps = {\n entityProps: {},\n image: {\n url: null,\n data: {}\n },\n gtmId: '',\n style: 'portrait',\n propsToDisplay: [],\n propsToDisplayModifiers: [],\n url: '',\n alternativePreHeader: null,\n alternativeHeadline: '',\n category: null,\n modifier: '',\n cardChildren: [],\n gtmChildren: [],\n gridModifier: '',\n priority: false\n};\n\nconst getCategoryDefinedProps = ({\n alternativePreHeader,\n category,\n entity,\n alternativeHeadline,\n displayCategory,\n name\n}) => {\n const hasAlternativePreHeader = alternativePreHeader && alternativePreHeader.name;\n const preHeader =\n alternativeHeadline && hasAlternativePreHeader ? alternativePreHeader : category;\n const publishedListingPage = getPublishedListingUrl(preHeader);\n const label = preHeader ? preHeader.name : entity;\n const headline =\n !displayCategory || !hasAlternativePreHeader ? name : alternativeHeadline || name;\n return { publishedListingPage, preHeader, label, headline };\n};\n\nconst getImageDefinedProps = ({ image, displayThumbnail }) => {\n const { url: imageSrc, data } = image || {};\n const shouldDisplayThumbnail = displayThumbnail && imageSrc;\n const altText = (data && data.altText) || '';\n return { imageSrc, shouldDisplayThumbnail, altText };\n};\n\nconst getInitialModifiers = ({ modifier, style, otherProps }) => {\n const modifiers = [modifier, style];\n const { sponsored, featured } = otherProps;\n if (sponsored) modifiers.push('sponsored');\n if (featured) modifiers.push('featured');\n\n return modifiers;\n};\n\nexport default Card;\n"],"file":"Card.js"}
@@ -110,7 +110,9 @@ CardContainer.propTypes = {
110
110
  itemsPerRow: PropTypes.number,
111
111
  enableCarousel: PropTypes.bool,
112
112
  bannerModifier: PropTypes.string,
113
- priorityLimit: PropTypes.number
113
+ priorityLimit: PropTypes.number,
114
+ enableAutoScroll: PropTypes.bool,
115
+ autoScrollTimer: PropTypes.number
114
116
  };
115
117
  CardContainer.defaultProps = {
116
118
  gtmChildren: [],
@@ -127,7 +129,9 @@ CardContainer.defaultProps = {
127
129
  itemsPerRow: 1,
128
130
  enableCarousel: false,
129
131
  bannerModifier: '',
130
- priorityLimit: 0
132
+ priorityLimit: 0,
133
+ enableAutoScroll: false,
134
+ autoScrollTimer: 0
131
135
  };
132
136
  export default withTitle(CardContainer);
133
137
  //# sourceMappingURL=CardContainer.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Card/CardContainer.js"],"names":["React","useContext","PropTypes","MainContext","withTitle","Banner","Wrapper","CarouselWrapper","Card","getDynamicGridClasses","getEntitiesWithBanner","parsePropsToDisplay","getPropsToDisplayModifiers","CardContainer","cardData","gridModifier","style","displayCategory","displayThumbnail","displayTitle","modifier","entity","propsToDisplay","gtmChildren","cardChildren","name","designConfig","itemsPerRow","enableCarousel","bannerModifier","priorityLimit","enableAutoScroll","autoScrollTimer","cardProps","entities","itemId","propsToDisplayModifiers","dynamicWrapperSizes","cardBannerIndex","CardWrapper","map","index","baseAdunit","id","entityProps","extraProps","dynamicKey","join","priority","propTypes","array","isRequired","string","oneOfType","arrayOf","node","bool","object","number","defaultProps"],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { withTitle } from '../../HOC';\nimport Banner from '../Banner';\nimport Wrapper from '../Wrapper';\nimport CarouselWrapper from '../CarouselWrapper';\nimport Card from './Card';\nimport { getDynamicGridClasses } from './helpers';\nimport { getEntitiesWithBanner, parsePropsToDisplay } from '../../helpers';\nimport { getPropsToDisplayModifiers } from '../../utils';\n\nconst CardContainer = ({\n cardData,\n gridModifier,\n style,\n displayCategory,\n displayThumbnail,\n displayTitle,\n modifier,\n entity,\n propsToDisplay,\n gtmChildren,\n cardChildren,\n name,\n designConfig,\n itemsPerRow,\n enableCarousel,\n bannerModifier,\n priorityLimit,\n enableAutoScroll,\n autoScrollTimer,\n ...cardProps\n}) => {\n const entities = getEntitiesWithBanner(cardData, cardProps);\n const { itemId } = useContext(MainContext);\n const propsToDisplayModifiers = getPropsToDisplayModifiers(propsToDisplay);\n const dynamicWrapperSizes = enableCarousel\n ? ''\n : getDynamicGridClasses('grid', itemsPerRow, designConfig);\n let cardBannerIndex = 0;\n const CardWrapper = enableCarousel ? CarouselWrapper : Wrapper;\n\n return (\n <CardWrapper\n className={dynamicWrapperSizes}\n modifiers={gridModifier}\n itemsPerRow={itemsPerRow}\n bannerModifier={bannerModifier}\n enableAutoScroll={enableAutoScroll}\n autoScrollTimer={autoScrollTimer}>\n {entities.map(({ baseAdunit, id, ...entityProps }, index) => {\n const extraProps = parsePropsToDisplay(entityProps, propsToDisplay);\n const dynamicKey = [itemId, index].join('-');\n if (baseAdunit) cardBannerIndex += 1;\n\n const priority = priorityLimit > 0 && index + 1 <= priorityLimit;\n\n return baseAdunit ? (\n <Banner\n key={dynamicKey}\n entity={entity}\n baseAdunit={baseAdunit}\n {...entityProps}\n modifier={modifier}\n cardBannerIndex={cardBannerIndex}\n />\n ) : (\n <Card\n key={id}\n id={id}\n enableCarousel={enableCarousel}\n entity={entity}\n propsToDisplay={extraProps}\n propsToDisplayModifiers={propsToDisplayModifiers}\n modifier={modifier}\n style={style}\n cardChildren={cardChildren}\n gtmChildren={gtmChildren}\n gtmId={name}\n gridModifier={gridModifier}\n entityProps={entityProps}\n displayCategory={displayCategory}\n displayThumbnail={displayThumbnail}\n displayTitle={displayTitle}\n priority={priority}\n {...entityProps}\n />\n );\n })}\n </CardWrapper>\n );\n};\n\nCardContainer.propTypes = {\n cardData: PropTypes.array.isRequired,\n name: PropTypes.string,\n entity: PropTypes.string.isRequired,\n gridModifier: PropTypes.string,\n gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n propsToDisplay: PropTypes.array,\n displayCategory: PropTypes.bool,\n displayThumbnail: PropTypes.bool,\n displayTitle: PropTypes.bool,\n modifier: PropTypes.string,\n style: PropTypes.string,\n designConfig: PropTypes.object,\n itemsPerRow: PropTypes.number,\n enableCarousel: PropTypes.bool,\n bannerModifier: PropTypes.string,\n priorityLimit: PropTypes.number\n};\n\nCardContainer.defaultProps = {\n gtmChildren: [],\n cardChildren: [],\n name: '',\n gridModifier: '',\n propsToDisplay: [],\n displayCategory: true,\n displayThumbnail: true,\n displayTitle: true,\n modifier: '',\n style: 'portrait',\n designConfig: {},\n itemsPerRow: 1,\n enableCarousel: false,\n bannerModifier: '',\n priorityLimit: 0\n};\n\nexport default withTitle(CardContainer);\n"],"file":"CardContainer.js"}
1
+ {"version":3,"sources":["../../../src/components/Card/CardContainer.js"],"names":["React","useContext","PropTypes","MainContext","withTitle","Banner","Wrapper","CarouselWrapper","Card","getDynamicGridClasses","getEntitiesWithBanner","parsePropsToDisplay","getPropsToDisplayModifiers","CardContainer","cardData","gridModifier","style","displayCategory","displayThumbnail","displayTitle","modifier","entity","propsToDisplay","gtmChildren","cardChildren","name","designConfig","itemsPerRow","enableCarousel","bannerModifier","priorityLimit","enableAutoScroll","autoScrollTimer","cardProps","entities","itemId","propsToDisplayModifiers","dynamicWrapperSizes","cardBannerIndex","CardWrapper","map","index","baseAdunit","id","entityProps","extraProps","dynamicKey","join","priority","propTypes","array","isRequired","string","oneOfType","arrayOf","node","bool","object","number","defaultProps"],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { withTitle } from '../../HOC';\nimport Banner from '../Banner';\nimport Wrapper from '../Wrapper';\nimport CarouselWrapper from '../CarouselWrapper';\nimport Card from './Card';\nimport { getDynamicGridClasses } from './helpers';\nimport { getEntitiesWithBanner, parsePropsToDisplay } from '../../helpers';\nimport { getPropsToDisplayModifiers } from '../../utils';\n\nconst CardContainer = ({\n cardData,\n gridModifier,\n style,\n displayCategory,\n displayThumbnail,\n displayTitle,\n modifier,\n entity,\n propsToDisplay,\n gtmChildren,\n cardChildren,\n name,\n designConfig,\n itemsPerRow,\n enableCarousel,\n bannerModifier,\n priorityLimit,\n enableAutoScroll,\n autoScrollTimer,\n ...cardProps\n}) => {\n const entities = getEntitiesWithBanner(cardData, cardProps);\n const { itemId } = useContext(MainContext);\n const propsToDisplayModifiers = getPropsToDisplayModifiers(propsToDisplay);\n const dynamicWrapperSizes = enableCarousel\n ? ''\n : getDynamicGridClasses('grid', itemsPerRow, designConfig);\n let cardBannerIndex = 0;\n const CardWrapper = enableCarousel ? CarouselWrapper : Wrapper;\n\n return (\n <CardWrapper\n className={dynamicWrapperSizes}\n modifiers={gridModifier}\n itemsPerRow={itemsPerRow}\n bannerModifier={bannerModifier}\n enableAutoScroll={enableAutoScroll}\n autoScrollTimer={autoScrollTimer}>\n {entities.map(({ baseAdunit, id, ...entityProps }, index) => {\n const extraProps = parsePropsToDisplay(entityProps, propsToDisplay);\n const dynamicKey = [itemId, index].join('-');\n if (baseAdunit) cardBannerIndex += 1;\n\n const priority = priorityLimit > 0 && index + 1 <= priorityLimit;\n\n return baseAdunit ? (\n <Banner\n key={dynamicKey}\n entity={entity}\n baseAdunit={baseAdunit}\n {...entityProps}\n modifier={modifier}\n cardBannerIndex={cardBannerIndex}\n />\n ) : (\n <Card\n key={id}\n id={id}\n enableCarousel={enableCarousel}\n entity={entity}\n propsToDisplay={extraProps}\n propsToDisplayModifiers={propsToDisplayModifiers}\n modifier={modifier}\n style={style}\n cardChildren={cardChildren}\n gtmChildren={gtmChildren}\n gtmId={name}\n gridModifier={gridModifier}\n entityProps={entityProps}\n displayCategory={displayCategory}\n displayThumbnail={displayThumbnail}\n displayTitle={displayTitle}\n priority={priority}\n {...entityProps}\n />\n );\n })}\n </CardWrapper>\n );\n};\n\nCardContainer.propTypes = {\n cardData: PropTypes.array.isRequired,\n name: PropTypes.string,\n entity: PropTypes.string.isRequired,\n gridModifier: PropTypes.string,\n gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n propsToDisplay: PropTypes.array,\n displayCategory: PropTypes.bool,\n displayThumbnail: PropTypes.bool,\n displayTitle: PropTypes.bool,\n modifier: PropTypes.string,\n style: PropTypes.string,\n designConfig: PropTypes.object,\n itemsPerRow: PropTypes.number,\n enableCarousel: PropTypes.bool,\n bannerModifier: PropTypes.string,\n priorityLimit: PropTypes.number,\n enableAutoScroll: PropTypes.bool,\n autoScrollTimer: PropTypes.number\n};\n\nCardContainer.defaultProps = {\n gtmChildren: [],\n cardChildren: [],\n name: '',\n gridModifier: '',\n propsToDisplay: [],\n displayCategory: true,\n displayThumbnail: true,\n displayTitle: true,\n modifier: '',\n style: 'portrait',\n designConfig: {},\n itemsPerRow: 1,\n enableCarousel: false,\n bannerModifier: '',\n priorityLimit: 0,\n enableAutoScroll: false,\n autoScrollTimer: 0\n};\n\nexport default withTitle(CardContainer);\n"],"file":"CardContainer.js"}