@blaze-cms/react-page-builder 0.128.0-admin-updates.5 → 0.128.0-admin-updates.8

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 (63) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/lib/components/Card/Card.js +1 -1
  3. package/lib/components/Card/Card.js.map +1 -1
  4. package/lib/components/Card/CardsContainer.js +53 -24
  5. package/lib/components/Card/CardsContainer.js.map +1 -1
  6. package/lib/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummaryContent.js +3 -1
  7. package/lib/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummaryContent.js.map +1 -1
  8. package/lib/components/Image/Image.js +1 -1
  9. package/lib/components/Image/Image.js.map +1 -1
  10. package/lib/components/List/components/Full/FullRender.js.map +1 -1
  11. package/lib/components/List/components/helpers/check-if-should-render-banner.js +27 -5
  12. package/lib/components/List/components/helpers/check-if-should-render-banner.js.map +1 -1
  13. package/lib/components/List/components/helpers/index.js +8 -2
  14. package/lib/components/List/components/helpers/index.js.map +1 -1
  15. package/lib/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  16. package/lib/components/SearchFilter/components/Checkbox.js +6 -1
  17. package/lib/components/SearchFilter/components/Checkbox.js.map +1 -1
  18. package/lib/components/SearchFilter/components/Range.js +9 -5
  19. package/lib/components/SearchFilter/components/Range.js.map +1 -1
  20. package/lib/components/SearchFilter/components/Select.js +9 -5
  21. package/lib/components/SearchFilter/components/Select.js.map +1 -1
  22. package/lib/components/SearchFilter/components/TextSearch.js +9 -5
  23. package/lib/components/SearchFilter/components/TextSearch.js.map +1 -1
  24. package/lib-es/components/Card/Card.js +1 -1
  25. package/lib-es/components/Card/Card.js.map +1 -1
  26. package/lib-es/components/Card/CardsContainer.js +59 -35
  27. package/lib-es/components/Card/CardsContainer.js.map +1 -1
  28. package/lib-es/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummaryContent.js +3 -1
  29. package/lib-es/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummaryContent.js.map +1 -1
  30. package/lib-es/components/Image/Image.js +1 -1
  31. package/lib-es/components/Image/Image.js.map +1 -1
  32. package/lib-es/components/List/components/Full/FullRender.js.map +1 -1
  33. package/lib-es/components/List/components/helpers/check-if-should-render-banner.js +29 -3
  34. package/lib-es/components/List/components/helpers/check-if-should-render-banner.js.map +1 -1
  35. package/lib-es/components/List/components/helpers/index.js +3 -2
  36. package/lib-es/components/List/components/helpers/index.js.map +1 -1
  37. package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  38. package/lib-es/components/SearchFilter/components/Checkbox.js +6 -1
  39. package/lib-es/components/SearchFilter/components/Checkbox.js.map +1 -1
  40. package/lib-es/components/SearchFilter/components/Range.js +9 -5
  41. package/lib-es/components/SearchFilter/components/Range.js.map +1 -1
  42. package/lib-es/components/SearchFilter/components/Select.js +9 -5
  43. package/lib-es/components/SearchFilter/components/Select.js.map +1 -1
  44. package/lib-es/components/SearchFilter/components/TextSearch.js +9 -5
  45. package/lib-es/components/SearchFilter/components/TextSearch.js.map +1 -1
  46. package/package.json +5 -5
  47. package/src/components/Card/Card.js +2 -2
  48. package/src/components/Card/CardsContainer.js +54 -35
  49. package/src/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummaryContent.js +1 -1
  50. package/src/components/Image/Image.js +1 -1
  51. package/src/components/List/components/Full/FullRender.js +0 -1
  52. package/src/components/List/components/helpers/check-if-should-render-banner.js +24 -3
  53. package/src/components/List/components/helpers/index.js +4 -2
  54. package/src/components/SearchFilter/SearchFilter/SearchFilter.js +0 -1
  55. package/src/components/SearchFilter/components/Checkbox.js +4 -0
  56. package/src/components/SearchFilter/components/Range.js +7 -4
  57. package/src/components/SearchFilter/components/Select.js +23 -17
  58. package/src/components/SearchFilter/components/TextSearch.js +30 -26
  59. package/tests/unit/src/components/Card/__snapshots__/Card.test.js.snap +10 -10
  60. package/tests/unit/src/components/Card/__snapshots__/CardContainer.test.js.snap +8 -8
  61. package/tests/unit/src/components/DataSummary/DataSummaryTypes/__snapshots__/ItemDetailsSummary.test.js.snap +24 -4
  62. package/tests/unit/src/components/List/components/Cards/__snapshots__/CardsRender.test.js.snap +12 -12
  63. package/tests/unit/src/components/List/components/helpers/check-if-should-render-banner.test.js +59 -28
@@ -1,7 +1,10 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
4
  const _excluded = ["cardData", "gridModifier", "style", "displayCategory", "displayThumbnail", "displayTitle", "modifier", "entity", "graphqlEntityMap", "propsToDisplay", "gtmChildren", "cardChildren", "name", "designConfig", "itemsPerRow", "enableCarousel", "bannerModifier", "priorityLimit", "enableAutoScroll", "enableOverlay", "autoScrollTimer", "overlayModifier", "titleOverlayModifier"],
4
5
  _excluded2 = ["baseAdunit", "id"];
6
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7
+ 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; }
5
8
  import React, { useContext } from 'react';
6
9
  import PropTypes from 'prop-types';
7
10
  import { MainContext } from '@blaze-cms/nextjs-components';
@@ -13,7 +16,8 @@ import Card from './Card';
13
16
  import { getDynamicGridClasses } from './helpers';
14
17
  import { getEntitiesWithBanner, parsePropsToDisplay } from '../../helpers';
15
18
  import { getPropsToDisplayModifiers } from '../../utils';
16
- const CardsContainer = _ref => {
19
+ import { checkIfShouldRenderBanner, checkNewBannerSettings } from '../List/components/helpers';
20
+ const CardContainer = _ref => {
17
21
  let {
18
22
  cardData,
19
23
  gridModifier,
@@ -40,14 +44,22 @@ const CardsContainer = _ref => {
40
44
  titleOverlayModifier
41
45
  } = _ref,
42
46
  cardProps = _objectWithoutProperties(_ref, _excluded);
43
- const cardsWithBanners = getEntitiesWithBanner(cardData, cardProps);
44
47
  const {
45
48
  itemId
46
49
  } = useContext(MainContext);
50
+ const {
51
+ banner
52
+ } = cardProps;
53
+ // TODO: remove this check and all associated code once old banner setup is no longer supported
54
+ const hasNewBannerSettings = checkNewBannerSettings(banner);
55
+ const parsedCardsData = hasNewBannerSettings ? cardData : getEntitiesWithBanner(cardData, cardProps);
47
56
  const propsToDisplayModifiers = getPropsToDisplayModifiers(propsToDisplay);
48
57
  const dynamicWrapperSizes = enableCarousel ? '' : getDynamicGridClasses('grid', itemsPerRow, designConfig);
49
- let renderCounter = 0;
50
58
  const CardWrapper = enableCarousel ? CarouselWrapper : Wrapper;
59
+ let bannerIndex = 0;
60
+ const bannerProps = banner ? _objectSpread(_objectSpread(_objectSpread({}, cardProps), banner), {}, {
61
+ type: 'banner'
62
+ }) : null;
51
63
  return /*#__PURE__*/React.createElement(CardWrapper, {
52
64
  className: dynamicWrapperSizes,
53
65
  modifiers: gridModifier,
@@ -55,53 +67,65 @@ const CardsContainer = _ref => {
55
67
  bannerModifier: bannerModifier,
56
68
  enableAutoScroll: enableAutoScroll,
57
69
  autoScrollTimer: autoScrollTimer
58
- }, cardsWithBanners.map((_ref2, index) => {
59
- let {
70
+ }, parsedCardsData.map((currentEntity, index) => {
71
+ const {
60
72
  baseAdunit,
61
73
  id
62
- } = _ref2,
63
- entityProps = _objectWithoutProperties(_ref2, _excluded2);
74
+ } = currentEntity,
75
+ entityProps = _objectWithoutProperties(currentEntity, _excluded2);
76
+ const shouldRenderBanner = !!bannerProps && checkIfShouldRenderBanner(index, banner);
64
77
  const extraProps = parsePropsToDisplay(entityProps, propsToDisplay);
65
78
  const dynamicKey = [itemId, index].join('-');
66
- if (baseAdunit) renderCounter += 1;
67
79
  const priority = priorityLimit > 0 && index + 1 <= priorityLimit;
80
+ if (hasNewBannerSettings && shouldRenderBanner) bannerIndex += 1;
81
+ if (!hasNewBannerSettings && baseAdunit) bannerIndex += 1;
82
+ const parsedCardProps = _objectSpread({
83
+ key: id,
84
+ id,
85
+ enableCarousel,
86
+ graphqlEntityMap,
87
+ propsToDisplay,
88
+ parsedPropsToDisplay: extraProps,
89
+ propsToDisplayModifiers,
90
+ modifier,
91
+ style,
92
+ cardChildren,
93
+ gtmChildren,
94
+ gtmId: name,
95
+ gridModifier,
96
+ entityProps,
97
+ displayCategory,
98
+ displayThumbnail,
99
+ displayTitle,
100
+ priority,
101
+ enableOverlay,
102
+ overlayModifier,
103
+ titleOverlayModifier
104
+ }, entityProps);
105
+ if (hasNewBannerSettings) return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Card, _extends({
106
+ key: id
107
+ }, parsedCardProps)), shouldRenderBanner && /*#__PURE__*/React.createElement(Banner, _extends({
108
+ key: dynamicKey
109
+ }, bannerProps, {
110
+ renderCounter: bannerIndex
111
+ })));
68
112
  return baseAdunit ? /*#__PURE__*/React.createElement(Banner, _extends({
69
113
  key: dynamicKey,
70
114
  entity: graphqlEntityMap[entityProps.__typename],
71
115
  baseAdunit: baseAdunit
72
116
  }, entityProps, {
73
117
  modifier: modifier,
74
- renderCounter: renderCounter
118
+ renderCounter: bannerIndex
75
119
  })) : /*#__PURE__*/React.createElement(Card, _extends({
76
- key: id,
77
- id: id,
78
- enableCarousel: enableCarousel,
79
- graphqlEntityMap: graphqlEntityMap,
80
- propsToDisplay: propsToDisplay,
81
- parsedPropsToDisplay: extraProps,
82
- propsToDisplayModifiers: propsToDisplayModifiers,
83
- modifier: modifier,
84
- style: style,
85
- cardChildren: cardChildren,
86
- gtmChildren: gtmChildren,
87
- gtmId: name,
88
- gridModifier: gridModifier,
89
- entityProps: entityProps,
90
- displayCategory: displayCategory,
91
- displayThumbnail: displayThumbnail,
92
- displayTitle: displayTitle,
93
- priority: priority,
94
- enableOverlay: enableOverlay,
95
- overlayModifier: overlayModifier,
96
- titleOverlayModifier: titleOverlayModifier
97
- }, entityProps));
120
+ key: id
121
+ }, parsedCardProps));
98
122
  }));
99
123
  };
100
- CardsContainer.propTypes = {
124
+ CardContainer.propTypes = {
101
125
  cardData: PropTypes.array.isRequired,
126
+ graphqlEntityMap: PropTypes.object.isRequired,
102
127
  name: PropTypes.string,
103
128
  entity: PropTypes.string.isRequired,
104
- graphqlEntityMap: PropTypes.object.isRequired,
105
129
  gridModifier: PropTypes.string,
106
130
  gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),
107
131
  cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),
@@ -122,7 +146,7 @@ CardsContainer.propTypes = {
122
146
  titleOverlayModifier: PropTypes.string,
123
147
  autoScrollTimer: PropTypes.number
124
148
  };
125
- CardsContainer.defaultProps = {
149
+ CardContainer.defaultProps = {
126
150
  gtmChildren: [],
127
151
  cardChildren: [],
128
152
  name: '',
@@ -144,5 +168,5 @@ CardsContainer.defaultProps = {
144
168
  overlayModifier: '',
145
169
  titleOverlayModifier: ''
146
170
  };
147
- export default withTitle(CardsContainer);
171
+ export default withTitle(CardContainer);
148
172
  //# sourceMappingURL=CardsContainer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CardsContainer.js","names":["React","useContext","PropTypes","MainContext","withTitle","Banner","Wrapper","CarouselWrapper","Card","getDynamicGridClasses","getEntitiesWithBanner","parsePropsToDisplay","getPropsToDisplayModifiers","CardsContainer","_ref","cardData","gridModifier","style","displayCategory","displayThumbnail","displayTitle","modifier","entity","legacyEntity","graphqlEntityMap","propsToDisplay","gtmChildren","cardChildren","name","designConfig","itemsPerRow","enableCarousel","bannerModifier","priorityLimit","enableAutoScroll","enableOverlay","autoScrollTimer","overlayModifier","titleOverlayModifier","cardProps","_objectWithoutProperties","_excluded","cardsWithBanners","itemId","propsToDisplayModifiers","dynamicWrapperSizes","renderCounter","CardWrapper","createElement","className","modifiers","map","_ref2","index","baseAdunit","id","entityProps","_excluded2","extraProps","dynamicKey","join","priority","_extends","key","__typename","parsedPropsToDisplay","gtmId","propTypes","array","isRequired","string","object","oneOfType","arrayOf","node","bool","number","defaultProps"],"sources":["../../../src/components/Card/CardsContainer.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { withTitle } from '../../HOC';\nimport Banner from '../Banner';\nimport Wrapper from '../Wrapper';\nimport CarouselWrapper from '../CarouselWrapper';\nimport Card from './Card';\nimport { getDynamicGridClasses } from './helpers';\nimport { getEntitiesWithBanner, parsePropsToDisplay } from '../../helpers';\nimport { getPropsToDisplayModifiers } from '../../utils';\n\nconst CardsContainer = ({\n cardData,\n gridModifier,\n style,\n displayCategory,\n displayThumbnail,\n displayTitle,\n modifier,\n entity: legacyEntity,\n graphqlEntityMap,\n propsToDisplay,\n gtmChildren,\n cardChildren,\n name,\n designConfig,\n itemsPerRow,\n enableCarousel,\n bannerModifier,\n priorityLimit,\n enableAutoScroll,\n enableOverlay,\n autoScrollTimer,\n overlayModifier,\n titleOverlayModifier,\n ...cardProps\n}) => {\n const cardsWithBanners = getEntitiesWithBanner(cardData, cardProps);\n const { itemId } = useContext(MainContext);\n const propsToDisplayModifiers = getPropsToDisplayModifiers(propsToDisplay);\n const dynamicWrapperSizes = enableCarousel\n ? ''\n : getDynamicGridClasses('grid', itemsPerRow, designConfig);\n let renderCounter = 0;\n const CardWrapper = enableCarousel ? CarouselWrapper : Wrapper;\n\n return (\n <CardWrapper\n className={dynamicWrapperSizes}\n modifiers={gridModifier}\n itemsPerRow={itemsPerRow}\n bannerModifier={bannerModifier}\n enableAutoScroll={enableAutoScroll}\n autoScrollTimer={autoScrollTimer}>\n {cardsWithBanners.map(({ baseAdunit, id, ...entityProps }, index) => {\n const extraProps = parsePropsToDisplay(entityProps, propsToDisplay);\n const dynamicKey = [itemId, index].join('-');\n if (baseAdunit) renderCounter += 1;\n\n const priority = priorityLimit > 0 && index + 1 <= priorityLimit;\n\n return baseAdunit ? (\n <Banner\n key={dynamicKey}\n entity={graphqlEntityMap[entityProps.__typename]}\n baseAdunit={baseAdunit}\n {...entityProps}\n modifier={modifier}\n renderCounter={renderCounter}\n />\n ) : (\n <Card\n key={id}\n id={id}\n enableCarousel={enableCarousel}\n graphqlEntityMap={graphqlEntityMap}\n propsToDisplay={propsToDisplay}\n parsedPropsToDisplay={extraProps}\n propsToDisplayModifiers={propsToDisplayModifiers}\n modifier={modifier}\n style={style}\n cardChildren={cardChildren}\n gtmChildren={gtmChildren}\n gtmId={name}\n gridModifier={gridModifier}\n entityProps={entityProps}\n displayCategory={displayCategory}\n displayThumbnail={displayThumbnail}\n displayTitle={displayTitle}\n priority={priority}\n enableOverlay={enableOverlay}\n overlayModifier={overlayModifier}\n titleOverlayModifier={titleOverlayModifier}\n {...entityProps}\n />\n );\n })}\n </CardWrapper>\n );\n};\n\nCardsContainer.propTypes = {\n cardData: PropTypes.array.isRequired,\n name: PropTypes.string,\n entity: PropTypes.string.isRequired,\n graphqlEntityMap: PropTypes.object.isRequired,\n gridModifier: PropTypes.string,\n gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n propsToDisplay: PropTypes.array,\n displayCategory: PropTypes.bool,\n displayThumbnail: PropTypes.bool,\n displayTitle: PropTypes.bool,\n modifier: PropTypes.string,\n style: PropTypes.string,\n designConfig: PropTypes.object,\n itemsPerRow: PropTypes.number,\n enableCarousel: PropTypes.bool,\n bannerModifier: PropTypes.string,\n priorityLimit: PropTypes.number,\n enableAutoScroll: PropTypes.bool,\n enableOverlay: PropTypes.bool,\n overlayModifier: PropTypes.string,\n titleOverlayModifier: PropTypes.string,\n autoScrollTimer: PropTypes.number\n};\n\nCardsContainer.defaultProps = {\n gtmChildren: [],\n cardChildren: [],\n name: '',\n gridModifier: '',\n propsToDisplay: [],\n displayCategory: true,\n displayThumbnail: true,\n displayTitle: true,\n modifier: '',\n style: 'portrait',\n designConfig: {},\n itemsPerRow: 1,\n enableCarousel: false,\n bannerModifier: '',\n priorityLimit: 0,\n enableAutoScroll: false,\n enableOverlay: false,\n autoScrollTimer: 0,\n overlayModifier: '',\n titleOverlayModifier: ''\n};\n\nexport default withTitle(CardsContainer);\n"],"mappings":"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"}
1
+ {"version":3,"file":"CardsContainer.js","names":["React","useContext","PropTypes","MainContext","withTitle","Banner","Wrapper","CarouselWrapper","Card","getDynamicGridClasses","getEntitiesWithBanner","parsePropsToDisplay","getPropsToDisplayModifiers","checkIfShouldRenderBanner","checkNewBannerSettings","CardContainer","_ref","cardData","gridModifier","style","displayCategory","displayThumbnail","displayTitle","modifier","entity","legacyEntity","graphqlEntityMap","propsToDisplay","gtmChildren","cardChildren","name","designConfig","itemsPerRow","enableCarousel","bannerModifier","priorityLimit","enableAutoScroll","enableOverlay","autoScrollTimer","overlayModifier","titleOverlayModifier","cardProps","_objectWithoutProperties","_excluded","itemId","banner","hasNewBannerSettings","parsedCardsData","propsToDisplayModifiers","dynamicWrapperSizes","CardWrapper","bannerIndex","bannerProps","_objectSpread","type","createElement","className","modifiers","map","currentEntity","index","baseAdunit","id","entityProps","_excluded2","shouldRenderBanner","extraProps","dynamicKey","join","priority","parsedCardProps","key","parsedPropsToDisplay","gtmId","Fragment","_extends","renderCounter","__typename","propTypes","array","isRequired","object","string","oneOfType","arrayOf","node","bool","number","defaultProps"],"sources":["../../../src/components/Card/CardsContainer.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { withTitle } from '../../HOC';\nimport Banner from '../Banner';\nimport Wrapper from '../Wrapper';\nimport CarouselWrapper from '../CarouselWrapper';\nimport Card from './Card';\nimport { getDynamicGridClasses } from './helpers';\nimport { getEntitiesWithBanner, parsePropsToDisplay } from '../../helpers';\nimport { getPropsToDisplayModifiers } from '../../utils';\nimport { checkIfShouldRenderBanner, checkNewBannerSettings } from '../List/components/helpers';\n\nconst CardContainer = ({\n cardData,\n gridModifier,\n style,\n displayCategory,\n displayThumbnail,\n displayTitle,\n modifier,\n entity: legacyEntity,\n graphqlEntityMap,\n propsToDisplay,\n gtmChildren,\n cardChildren,\n name,\n designConfig,\n itemsPerRow,\n enableCarousel,\n bannerModifier,\n priorityLimit,\n enableAutoScroll,\n enableOverlay,\n autoScrollTimer,\n overlayModifier,\n titleOverlayModifier,\n ...cardProps\n}) => {\n const { itemId } = useContext(MainContext);\n const { banner } = cardProps;\n // TODO: remove this check and all associated code once old banner setup is no longer supported\n const hasNewBannerSettings = checkNewBannerSettings(banner);\n const parsedCardsData = hasNewBannerSettings\n ? cardData\n : getEntitiesWithBanner(cardData, cardProps);\n const propsToDisplayModifiers = getPropsToDisplayModifiers(propsToDisplay);\n const dynamicWrapperSizes = enableCarousel\n ? ''\n : getDynamicGridClasses('grid', itemsPerRow, designConfig);\n const CardWrapper = enableCarousel ? CarouselWrapper : Wrapper;\n let bannerIndex = 0;\n const bannerProps = banner ? { ...cardProps, ...banner, type: 'banner' } : null;\n\n return (\n <CardWrapper\n className={dynamicWrapperSizes}\n modifiers={gridModifier}\n itemsPerRow={itemsPerRow}\n bannerModifier={bannerModifier}\n enableAutoScroll={enableAutoScroll}\n autoScrollTimer={autoScrollTimer}>\n {parsedCardsData.map((currentEntity, index) => {\n const { baseAdunit, id, ...entityProps } = currentEntity;\n const shouldRenderBanner = !!bannerProps && checkIfShouldRenderBanner(index, banner);\n const extraProps = parsePropsToDisplay(entityProps, propsToDisplay);\n const dynamicKey = [itemId, index].join('-');\n const priority = priorityLimit > 0 && index + 1 <= priorityLimit;\n if (hasNewBannerSettings && shouldRenderBanner) bannerIndex += 1;\n if (!hasNewBannerSettings && baseAdunit) bannerIndex += 1;\n const parsedCardProps = {\n key: id,\n id,\n enableCarousel,\n graphqlEntityMap,\n propsToDisplay,\n parsedPropsToDisplay: extraProps,\n propsToDisplayModifiers,\n modifier,\n style,\n cardChildren,\n gtmChildren,\n gtmId: name,\n gridModifier,\n entityProps,\n displayCategory,\n displayThumbnail,\n displayTitle,\n priority,\n enableOverlay,\n overlayModifier,\n titleOverlayModifier,\n ...entityProps\n };\n\n if (hasNewBannerSettings)\n return (\n <>\n <Card key={id} {...parsedCardProps} />\n {shouldRenderBanner && (\n <Banner key={dynamicKey} {...bannerProps} renderCounter={bannerIndex} />\n )}\n </>\n );\n return baseAdunit ? (\n <Banner\n key={dynamicKey}\n entity={graphqlEntityMap[entityProps.__typename]}\n baseAdunit={baseAdunit}\n {...entityProps}\n modifier={modifier}\n renderCounter={bannerIndex}\n />\n ) : (\n <Card key={id} {...parsedCardProps} />\n );\n })}\n </CardWrapper>\n );\n};\n\nCardContainer.propTypes = {\n cardData: PropTypes.array.isRequired,\n graphqlEntityMap: PropTypes.object.isRequired,\n name: PropTypes.string,\n entity: PropTypes.string.isRequired,\n gridModifier: PropTypes.string,\n gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n propsToDisplay: PropTypes.array,\n displayCategory: PropTypes.bool,\n displayThumbnail: PropTypes.bool,\n displayTitle: PropTypes.bool,\n modifier: PropTypes.string,\n style: PropTypes.string,\n designConfig: PropTypes.object,\n itemsPerRow: PropTypes.number,\n enableCarousel: PropTypes.bool,\n bannerModifier: PropTypes.string,\n priorityLimit: PropTypes.number,\n enableAutoScroll: PropTypes.bool,\n enableOverlay: PropTypes.bool,\n overlayModifier: PropTypes.string,\n titleOverlayModifier: PropTypes.string,\n autoScrollTimer: PropTypes.number\n};\n\nCardContainer.defaultProps = {\n gtmChildren: [],\n cardChildren: [],\n name: '',\n gridModifier: '',\n propsToDisplay: [],\n displayCategory: true,\n displayThumbnail: true,\n displayTitle: true,\n modifier: '',\n style: 'portrait',\n designConfig: {},\n itemsPerRow: 1,\n enableCarousel: false,\n bannerModifier: '',\n priorityLimit: 0,\n enableAutoScroll: false,\n enableOverlay: false,\n autoScrollTimer: 0,\n overlayModifier: '',\n titleOverlayModifier: ''\n};\n\nexport default withTitle(CardContainer);\n"],"mappings":"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"}
@@ -16,7 +16,9 @@ const ItemDetailsSummaryContent = ({
16
16
  return /*#__PURE__*/React.createElement("span", {
17
17
  className: modifier,
18
18
  key: dynamicKey
19
- }, wrappedValue);
19
+ }, key && /*#__PURE__*/React.createElement("span", {
20
+ className: "item-details-summary-label"
21
+ }, key), " ", wrappedValue);
20
22
  });
21
23
  };
22
24
  ItemDetailsSummaryContent.propTypes = {
@@ -1 +1 @@
1
- {"version":3,"file":"ItemDetailsSummaryContent.js","names":["React","useContext","PropTypes","MainContext","getWrappedValueWithLink","parseBooleanValues","withTitle","ItemDetailsSummaryContent","summaryPropsWithContent","itemId","map","key","value","link","modifier","index","dynamicKey","join","wrappedValue","createElement","className","propTypes","array","isRequired"],"sources":["../../../../../src/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummaryContent.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { getWrappedValueWithLink } from '../../../../helpers';\nimport { parseBooleanValues } from '../../helpers';\nimport { withTitle } from '../../../../HOC';\n\nconst ItemDetailsSummaryContent = ({ summaryPropsWithContent }) => {\n const { itemId } = useContext(MainContext);\n return summaryPropsWithContent.map(([key, value, link, modifier], index) => {\n const dynamicKey = [itemId, index, value].join('-');\n const wrappedValue = parseBooleanValues(getWrappedValueWithLink(value, link, itemId), key);\n\n return (\n <span className={modifier} key={dynamicKey}>\n {wrappedValue}\n </span>\n );\n });\n};\n\nItemDetailsSummaryContent.propTypes = {\n summaryPropsWithContent: PropTypes.array.isRequired\n};\n\nexport default withTitle(ItemDetailsSummaryContent);\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,WAAW,QAAQ,8BAA8B;AAC1D,SAASC,uBAAuB,QAAQ,qBAAqB;AAC7D,SAASC,kBAAkB,QAAQ,eAAe;AAClD,SAASC,SAAS,QAAQ,iBAAiB;AAE3C,MAAMC,yBAAyB,GAAGA,CAAC;EAAEC;AAAwB,CAAC,KAAK;EACjE,MAAM;IAAEC;EAAO,CAAC,GAAGR,UAAU,CAACE,WAAW,CAAC;EAC1C,OAAOK,uBAAuB,CAACE,GAAG,CAAC,CAAC,CAACC,GAAG,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,CAAC,EAAEC,KAAK,KAAK;IAC1E,MAAMC,UAAU,GAAG,CAACP,MAAM,EAAEM,KAAK,EAAEH,KAAK,CAAC,CAACK,IAAI,CAAC,GAAG,CAAC;IACnD,MAAMC,YAAY,GAAGb,kBAAkB,CAACD,uBAAuB,CAACQ,KAAK,EAAEC,IAAI,EAAEJ,MAAM,CAAC,EAAEE,GAAG,CAAC;IAE1F,oBACEX,KAAA,CAAAmB,aAAA;MAAMC,SAAS,EAAEN,QAAS;MAACH,GAAG,EAAEK;IAAW,GACxCE,YAAY,CACR;EAEX,CAAC,CAAC;AACJ,CAAC;AAEDX,yBAAyB,CAACc,SAAS,GAAG;EACpCb,uBAAuB,EAAEN,SAAS,CAACoB,KAAK,CAACC;AAC3C,CAAC;AAED,eAAejB,SAAS,CAACC,yBAAyB,CAAC"}
1
+ {"version":3,"file":"ItemDetailsSummaryContent.js","names":["React","useContext","PropTypes","MainContext","getWrappedValueWithLink","parseBooleanValues","withTitle","ItemDetailsSummaryContent","summaryPropsWithContent","itemId","map","key","value","link","modifier","index","dynamicKey","join","wrappedValue","createElement","className","propTypes","array","isRequired"],"sources":["../../../../../src/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummaryContent.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { getWrappedValueWithLink } from '../../../../helpers';\nimport { parseBooleanValues } from '../../helpers';\nimport { withTitle } from '../../../../HOC';\n\nconst ItemDetailsSummaryContent = ({ summaryPropsWithContent }) => {\n const { itemId } = useContext(MainContext);\n return summaryPropsWithContent.map(([key, value, link, modifier], index) => {\n const dynamicKey = [itemId, index, value].join('-');\n const wrappedValue = parseBooleanValues(getWrappedValueWithLink(value, link, itemId), key);\n\n return (\n <span className={modifier} key={dynamicKey}>\n {key && <span className=\"item-details-summary-label\">{key}</span>} {wrappedValue}\n </span>\n );\n });\n};\n\nItemDetailsSummaryContent.propTypes = {\n summaryPropsWithContent: PropTypes.array.isRequired\n};\n\nexport default withTitle(ItemDetailsSummaryContent);\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,WAAW,QAAQ,8BAA8B;AAC1D,SAASC,uBAAuB,QAAQ,qBAAqB;AAC7D,SAASC,kBAAkB,QAAQ,eAAe;AAClD,SAASC,SAAS,QAAQ,iBAAiB;AAE3C,MAAMC,yBAAyB,GAAGA,CAAC;EAAEC;AAAwB,CAAC,KAAK;EACjE,MAAM;IAAEC;EAAO,CAAC,GAAGR,UAAU,CAACE,WAAW,CAAC;EAC1C,OAAOK,uBAAuB,CAACE,GAAG,CAAC,CAAC,CAACC,GAAG,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,CAAC,EAAEC,KAAK,KAAK;IAC1E,MAAMC,UAAU,GAAG,CAACP,MAAM,EAAEM,KAAK,EAAEH,KAAK,CAAC,CAACK,IAAI,CAAC,GAAG,CAAC;IACnD,MAAMC,YAAY,GAAGb,kBAAkB,CAACD,uBAAuB,CAACQ,KAAK,EAAEC,IAAI,EAAEJ,MAAM,CAAC,EAAEE,GAAG,CAAC;IAE1F,oBACEX,KAAA,CAAAmB,aAAA;MAAMC,SAAS,EAAEN,QAAS;MAACH,GAAG,EAAEK;IAAW,GACxCL,GAAG,iBAAIX,KAAA,CAAAmB,aAAA;MAAMC,SAAS,EAAC;IAA4B,GAAET,GAAG,CAAQ,EAAC,GAAC,EAACO,YAAY,CAC3E;EAEX,CAAC,CAAC;AACJ,CAAC;AAEDX,yBAAyB,CAACc,SAAS,GAAG;EACpCb,uBAAuB,EAAEN,SAAS,CAACoB,KAAK,CAACC;AAC3C,CAAC;AAED,eAAejB,SAAS,CAACC,yBAAyB,CAAC"}
@@ -89,7 +89,7 @@ const Image = _ref => {
89
89
  ref: outerRef,
90
90
  className: wrapperClassName,
91
91
  modifiers: modifiers
92
- }, otherProps), elementTitle && /*#__PURE__*/React.createElement("h2", {
92
+ }, otherProps), elementTitle && /*#__PURE__*/React.createElement("div", {
93
93
  className: "heading heading--section"
94
94
  }, elementTitle), shouldDisplayImage && /*#__PURE__*/React.createElement(ImgWrapper, imgWrapperProps, /*#__PURE__*/React.createElement(ImageRender, _extends({}, otherProps, {
95
95
  alt: altText,
@@ -1 +1 @@
1
- {"version":3,"file":"Image.js","names":["React","useState","PropTypes","useInView","Wrapper","ImageRender","ImageDetails","getClassModifiers","getImageData","getDisplayCountData","shouldShowProperty","buildImageProperties","IMAGE","HERO","IN_VIEW_CONFIG","Image","_ref","url","modifier","_modifier","imageId","enableLightbox","name","toggleModal","handleSelectedImage","displayCount","lightboxImages","isHero","priority","type","areImageCreditsDisplayed","isCaptionDisplayed","images","imageData","imageUrl","elementTitle","credits","imageCredits","otherProps","_objectWithoutProperties","_excluded","displayLightbox","setDisplayLightbox","isIntersecting","outerRef","caption","altText","hrefUrl","imageDataCredits","href","ImgWrapper","imgWrapperProps","lightboxImgProps","modifiers","_objectSpread","wrapperClassName","toggleLightbox","handleEnableLightbox","shouldDisplayCaption","isDisplayed","value","creditsValue","shouldDisplayCredits","shouldDisplayCount","countMessage","sizeKey","filter","Boolean","join","shouldDisplayImage","createElement","_extends","ref","className","alt","role","onClick","propTypes","string","bool","func","array","object","defaultProps"],"sources":["../../../src/components/Image/Image.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useInView } from '@blaze-react/utils/lib/customHooks';\nimport Wrapper from '../Wrapper';\nimport ImageRender from './ImageRender';\nimport ImageDetails from './ImageDetails';\nimport getClassModifiers from '../../utils/get-class-modifiers';\nimport { getImageData } from '../../utils';\nimport { getDisplayCountData, shouldShowProperty, buildImageProperties } from '../../helpers';\nimport { IMAGE, HERO, IN_VIEW_CONFIG } from '../../constants';\n\nconst Image = ({\n url,\n modifier: _modifier,\n imageId,\n enableLightbox,\n name,\n toggleModal,\n handleSelectedImage,\n displayCount,\n lightboxImages,\n isHero,\n priority,\n type,\n areImageCreditsDisplayed,\n isCaptionDisplayed,\n images,\n imageData,\n imageUrl,\n elementTitle,\n credits,\n imageCredits,\n ...otherProps\n}) => {\n const [displayLightbox, setDisplayLightbox] = useState(false);\n const [isIntersecting, outerRef] = useInView(IN_VIEW_CONFIG);\n\n const { caption, altText, hrefUrl, credits: imageDataCredits } = getImageData(\n otherProps,\n imageData\n );\n\n const href = url || hrefUrl;\n\n const { ImgWrapper, imgWrapperProps, lightboxImgProps } = buildImageProperties({\n href,\n name,\n enableLightbox,\n isHero\n });\n\n const modifier = _modifier || '';\n const modifiers = getClassModifiers(type, { modifier, ...otherProps });\n const wrapperClassName = isHero ? HERO : IMAGE;\n const toggleLightbox = () => setDisplayLightbox(!displayLightbox);\n\n const handleEnableLightbox = () => {\n if (!enableLightbox) return;\n toggleModal();\n handleSelectedImage(imageId);\n };\n\n const shouldDisplayCaption = shouldShowProperty({\n isDisplayed: isCaptionDisplayed,\n value: caption\n });\n\n // deprecated: imageCredits is deprecated. This code is to handle legacy data. check before changing/removing\n const creditsValue = credits || imageCredits || imageDataCredits;\n\n const shouldDisplayCredits = shouldShowProperty({\n isDisplayed: areImageCreditsDisplayed,\n value: creditsValue\n });\n const { shouldDisplayCount, countMessage } = getDisplayCountData(displayCount, images);\n const sizeKey = [IMAGE, isHero ? HERO : '', _modifier].filter(Boolean).join(':');\n const shouldDisplayImage = !!imageUrl && (priority || isIntersecting);\n\n return (\n <Wrapper ref={outerRef} className={wrapperClassName} modifiers={modifiers} {...otherProps}>\n {elementTitle && <h2 className=\"heading heading--section\">{elementTitle}</h2>}\n {shouldDisplayImage && (\n <ImgWrapper {...imgWrapperProps}>\n <ImageRender\n {...otherProps}\n alt={altText}\n imageUrl={imageUrl}\n handleEnableLightbox={handleEnableLightbox}\n toggleLightbox={toggleLightbox}\n displayLightbox={displayLightbox}\n caption={caption}\n enableLightbox={enableLightbox}\n lightboxImgProps={lightboxImgProps}\n name={name}\n displayCount={displayCount}\n lightboxImages={lightboxImages}\n isHero={isHero}\n priority={priority}\n sizeKey={sizeKey}\n />\n </ImgWrapper>\n )}\n {shouldDisplayCount && (\n <div\n className=\"image__button image__button--count\"\n role=\"button\"\n onClick={handleEnableLightbox}>\n <p>{countMessage}</p>\n <div className=\"arrow arrow--right\" />\n </div>\n )}\n {(shouldDisplayCaption || shouldDisplayCredits) && (\n <ImageDetails\n caption={caption}\n credits={creditsValue}\n shouldDisplayCaption={shouldDisplayCaption}\n shouldDisplayCredits={shouldDisplayCredits}\n />\n )}\n </Wrapper>\n );\n};\n\nImage.propTypes = {\n url: PropTypes.string,\n name: PropTypes.string,\n modifier: PropTypes.string,\n imageId: PropTypes.string,\n enableLightbox: PropTypes.bool,\n toggleModal: PropTypes.func,\n handleSelectedImage: PropTypes.func,\n displayCount: PropTypes.bool,\n lightboxImages: PropTypes.array,\n images: PropTypes.array,\n isHero: PropTypes.bool,\n priority: PropTypes.bool,\n type: PropTypes.string,\n areImageCreditsDisplayed: PropTypes.bool,\n isCaptionDisplayed: PropTypes.bool,\n imageData: PropTypes.object,\n imageUrl: PropTypes.string,\n credits: PropTypes.string,\n imageCredits: PropTypes.string,\n elementTitle: PropTypes.string\n};\n\nImage.defaultProps = {\n modifier: '',\n url: null,\n name: '',\n credits: '',\n imageCredits: '',\n enableLightbox: false,\n imageId: '',\n handleSelectedImage: () => {},\n toggleModal: () => {},\n displayCount: false,\n lightboxImages: [],\n images: [],\n isHero: false,\n priority: false,\n type: '',\n areImageCreditsDisplayed: false,\n isCaptionDisplayed: true,\n imageData: {},\n imageUrl: '',\n elementTitle: ''\n};\n\nexport default Image;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Image.js","names":["React","useState","PropTypes","useInView","Wrapper","ImageRender","ImageDetails","getClassModifiers","getImageData","getDisplayCountData","shouldShowProperty","buildImageProperties","IMAGE","HERO","IN_VIEW_CONFIG","Image","_ref","url","modifier","_modifier","imageId","enableLightbox","name","toggleModal","handleSelectedImage","displayCount","lightboxImages","isHero","priority","type","areImageCreditsDisplayed","isCaptionDisplayed","images","imageData","imageUrl","elementTitle","credits","imageCredits","otherProps","_objectWithoutProperties","_excluded","displayLightbox","setDisplayLightbox","isIntersecting","outerRef","caption","altText","hrefUrl","imageDataCredits","href","ImgWrapper","imgWrapperProps","lightboxImgProps","modifiers","_objectSpread","wrapperClassName","toggleLightbox","handleEnableLightbox","shouldDisplayCaption","isDisplayed","value","creditsValue","shouldDisplayCredits","shouldDisplayCount","countMessage","sizeKey","filter","Boolean","join","shouldDisplayImage","createElement","_extends","ref","className","alt","role","onClick","propTypes","string","bool","func","array","object","defaultProps"],"sources":["../../../src/components/Image/Image.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useInView } from '@blaze-react/utils/lib/customHooks';\nimport Wrapper from '../Wrapper';\nimport ImageRender from './ImageRender';\nimport ImageDetails from './ImageDetails';\nimport getClassModifiers from '../../utils/get-class-modifiers';\nimport { getImageData } from '../../utils';\nimport { getDisplayCountData, shouldShowProperty, buildImageProperties } from '../../helpers';\nimport { IMAGE, HERO, IN_VIEW_CONFIG } from '../../constants';\n\nconst Image = ({\n url,\n modifier: _modifier,\n imageId,\n enableLightbox,\n name,\n toggleModal,\n handleSelectedImage,\n displayCount,\n lightboxImages,\n isHero,\n priority,\n type,\n areImageCreditsDisplayed,\n isCaptionDisplayed,\n images,\n imageData,\n imageUrl,\n elementTitle,\n credits,\n imageCredits,\n ...otherProps\n}) => {\n const [displayLightbox, setDisplayLightbox] = useState(false);\n const [isIntersecting, outerRef] = useInView(IN_VIEW_CONFIG);\n\n const { caption, altText, hrefUrl, credits: imageDataCredits } = getImageData(\n otherProps,\n imageData\n );\n\n const href = url || hrefUrl;\n\n const { ImgWrapper, imgWrapperProps, lightboxImgProps } = buildImageProperties({\n href,\n name,\n enableLightbox,\n isHero\n });\n\n const modifier = _modifier || '';\n const modifiers = getClassModifiers(type, { modifier, ...otherProps });\n const wrapperClassName = isHero ? HERO : IMAGE;\n const toggleLightbox = () => setDisplayLightbox(!displayLightbox);\n\n const handleEnableLightbox = () => {\n if (!enableLightbox) return;\n toggleModal();\n handleSelectedImage(imageId);\n };\n\n const shouldDisplayCaption = shouldShowProperty({\n isDisplayed: isCaptionDisplayed,\n value: caption\n });\n\n // deprecated: imageCredits is deprecated. This code is to handle legacy data. check before changing/removing\n const creditsValue = credits || imageCredits || imageDataCredits;\n\n const shouldDisplayCredits = shouldShowProperty({\n isDisplayed: areImageCreditsDisplayed,\n value: creditsValue\n });\n const { shouldDisplayCount, countMessage } = getDisplayCountData(displayCount, images);\n const sizeKey = [IMAGE, isHero ? HERO : '', _modifier].filter(Boolean).join(':');\n const shouldDisplayImage = !!imageUrl && (priority || isIntersecting);\n\n return (\n <Wrapper ref={outerRef} className={wrapperClassName} modifiers={modifiers} {...otherProps}>\n {elementTitle && <div className=\"heading heading--section\">{elementTitle}</div>}\n {shouldDisplayImage && (\n <ImgWrapper {...imgWrapperProps}>\n <ImageRender\n {...otherProps}\n alt={altText}\n imageUrl={imageUrl}\n handleEnableLightbox={handleEnableLightbox}\n toggleLightbox={toggleLightbox}\n displayLightbox={displayLightbox}\n caption={caption}\n enableLightbox={enableLightbox}\n lightboxImgProps={lightboxImgProps}\n name={name}\n displayCount={displayCount}\n lightboxImages={lightboxImages}\n isHero={isHero}\n priority={priority}\n sizeKey={sizeKey}\n />\n </ImgWrapper>\n )}\n {shouldDisplayCount && (\n <div\n className=\"image__button image__button--count\"\n role=\"button\"\n onClick={handleEnableLightbox}>\n <p>{countMessage}</p>\n <div className=\"arrow arrow--right\" />\n </div>\n )}\n {(shouldDisplayCaption || shouldDisplayCredits) && (\n <ImageDetails\n caption={caption}\n credits={creditsValue}\n shouldDisplayCaption={shouldDisplayCaption}\n shouldDisplayCredits={shouldDisplayCredits}\n />\n )}\n </Wrapper>\n );\n};\n\nImage.propTypes = {\n url: PropTypes.string,\n name: PropTypes.string,\n modifier: PropTypes.string,\n imageId: PropTypes.string,\n enableLightbox: PropTypes.bool,\n toggleModal: PropTypes.func,\n handleSelectedImage: PropTypes.func,\n displayCount: PropTypes.bool,\n lightboxImages: PropTypes.array,\n images: PropTypes.array,\n isHero: PropTypes.bool,\n priority: PropTypes.bool,\n type: PropTypes.string,\n areImageCreditsDisplayed: PropTypes.bool,\n isCaptionDisplayed: PropTypes.bool,\n imageData: PropTypes.object,\n imageUrl: PropTypes.string,\n credits: PropTypes.string,\n imageCredits: PropTypes.string,\n elementTitle: PropTypes.string\n};\n\nImage.defaultProps = {\n modifier: '',\n url: null,\n name: '',\n credits: '',\n imageCredits: '',\n enableLightbox: false,\n imageId: '',\n handleSelectedImage: () => {},\n toggleModal: () => {},\n displayCount: false,\n lightboxImages: [],\n images: [],\n isHero: false,\n priority: false,\n type: '',\n areImageCreditsDisplayed: false,\n isCaptionDisplayed: true,\n imageData: {},\n imageUrl: '',\n elementTitle: ''\n};\n\nexport default Image;\n"],"mappings":";;;;;;AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,SAAS,QAAQ,oCAAoC;AAC9D,OAAOC,OAAO,MAAM,YAAY;AAChC,OAAOC,WAAW,MAAM,eAAe;AACvC,OAAOC,YAAY,MAAM,gBAAgB;AACzC,OAAOC,iBAAiB,MAAM,iCAAiC;AAC/D,SAASC,YAAY,QAAQ,aAAa;AAC1C,SAASC,mBAAmB,EAAEC,kBAAkB,EAAEC,oBAAoB,QAAQ,eAAe;AAC7F,SAASC,KAAK,EAAEC,IAAI,EAAEC,cAAc,QAAQ,iBAAiB;AAE7D,MAAMC,KAAK,GAAGC,IAAA,IAsBR;EAAA,IAtBS;MACbC,GAAG;MACHC,QAAQ,EAAEC,SAAS;MACnBC,OAAO;MACPC,cAAc;MACdC,IAAI;MACJC,WAAW;MACXC,mBAAmB;MACnBC,YAAY;MACZC,cAAc;MACdC,MAAM;MACNC,QAAQ;MACRC,IAAI;MACJC,wBAAwB;MACxBC,kBAAkB;MAClBC,MAAM;MACNC,SAAS;MACTC,QAAQ;MACRC,YAAY;MACZC,OAAO;MACPC;IAEF,CAAC,GAAArB,IAAA;IADIsB,UAAU,GAAAC,wBAAA,CAAAvB,IAAA,EAAAwB,SAAA;EAEb,MAAM,CAACC,eAAe,EAAEC,kBAAkB,CAAC,GAAGzC,QAAQ,CAAC,KAAK,CAAC;EAC7D,MAAM,CAAC0C,cAAc,EAAEC,QAAQ,CAAC,GAAGzC,SAAS,CAACW,cAAc,CAAC;EAE5D,MAAM;IAAE+B,OAAO;IAAEC,OAAO;IAAEC,OAAO;IAAEX,OAAO,EAAEY;EAAiB,CAAC,GAAGxC,YAAY,CAC3E8B,UAAU,EACVL,SAAS,CACV;EAED,MAAMgB,IAAI,GAAGhC,GAAG,IAAI8B,OAAO;EAE3B,MAAM;IAAEG,UAAU;IAAEC,eAAe;IAAEC;EAAiB,CAAC,GAAGzC,oBAAoB,CAAC;IAC7EsC,IAAI;IACJ3B,IAAI;IACJD,cAAc;IACdM;EACF,CAAC,CAAC;EAEF,MAAMT,QAAQ,GAAGC,SAAS,IAAI,EAAE;EAChC,MAAMkC,SAAS,GAAG9C,iBAAiB,CAACsB,IAAI,EAAAyB,aAAA;IAAIpC;EAAQ,GAAKoB,UAAU,EAAG;EACtE,MAAMiB,gBAAgB,GAAG5B,MAAM,GAAGd,IAAI,GAAGD,KAAK;EAC9C,MAAM4C,cAAc,GAAGA,CAAA,KAAMd,kBAAkB,CAAC,CAACD,eAAe,CAAC;EAEjE,MAAMgB,oBAAoB,GAAGA,CAAA,KAAM;IACjC,IAAI,CAACpC,cAAc,EAAE;IACrBE,WAAW,EAAE;IACbC,mBAAmB,CAACJ,OAAO,CAAC;EAC9B,CAAC;EAED,MAAMsC,oBAAoB,GAAGhD,kBAAkB,CAAC;IAC9CiD,WAAW,EAAE5B,kBAAkB;IAC/B6B,KAAK,EAAEf;EACT,CAAC,CAAC;;EAEF;EACA,MAAMgB,YAAY,GAAGzB,OAAO,IAAIC,YAAY,IAAIW,gBAAgB;EAEhE,MAAMc,oBAAoB,GAAGpD,kBAAkB,CAAC;IAC9CiD,WAAW,EAAE7B,wBAAwB;IACrC8B,KAAK,EAAEC;EACT,CAAC,CAAC;EACF,MAAM;IAAEE,kBAAkB;IAAEC;EAAa,CAAC,GAAGvD,mBAAmB,CAACgB,YAAY,EAAEO,MAAM,CAAC;EACtF,MAAMiC,OAAO,GAAG,CAACrD,KAAK,EAAEe,MAAM,GAAGd,IAAI,GAAG,EAAE,EAAEM,SAAS,CAAC,CAAC+C,MAAM,CAACC,OAAO,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;EAChF,MAAMC,kBAAkB,GAAG,CAAC,CAACnC,QAAQ,KAAKN,QAAQ,IAAIe,cAAc,CAAC;EAErE,oBACE3C,KAAA,CAAAsE,aAAA,CAAClE,OAAO,EAAAmE,QAAA;IAACC,GAAG,EAAE5B,QAAS;IAAC6B,SAAS,EAAElB,gBAAiB;IAACF,SAAS,EAAEA;EAAU,GAAKf,UAAU,GACtFH,YAAY,iBAAInC,KAAA,CAAAsE,aAAA;IAAKG,SAAS,EAAC;EAA0B,GAAEtC,YAAY,CAAO,EAC9EkC,kBAAkB,iBACjBrE,KAAA,CAAAsE,aAAA,CAACpB,UAAU,EAAKC,eAAe,eAC7BnD,KAAA,CAAAsE,aAAA,CAACjE,WAAW,EAAAkE,QAAA,KACNjC,UAAU;IACdoC,GAAG,EAAE5B,OAAQ;IACbZ,QAAQ,EAAEA,QAAS;IACnBuB,oBAAoB,EAAEA,oBAAqB;IAC3CD,cAAc,EAAEA,cAAe;IAC/Bf,eAAe,EAAEA,eAAgB;IACjCI,OAAO,EAAEA,OAAQ;IACjBxB,cAAc,EAAEA,cAAe;IAC/B+B,gBAAgB,EAAEA,gBAAiB;IACnC9B,IAAI,EAAEA,IAAK;IACXG,YAAY,EAAEA,YAAa;IAC3BC,cAAc,EAAEA,cAAe;IAC/BC,MAAM,EAAEA,MAAO;IACfC,QAAQ,EAAEA,QAAS;IACnBqC,OAAO,EAAEA;EAAQ,GACjB,CAEL,EACAF,kBAAkB,iBACjB/D,KAAA,CAAAsE,aAAA;IACEG,SAAS,EAAC,oCAAoC;IAC9CE,IAAI,EAAC,QAAQ;IACbC,OAAO,EAAEnB;EAAqB,gBAC9BzD,KAAA,CAAAsE,aAAA,YAAIN,YAAY,CAAK,eACrBhE,KAAA,CAAAsE,aAAA;IAAKG,SAAS,EAAC;EAAoB,EAAG,CAEzC,EACA,CAACf,oBAAoB,IAAII,oBAAoB,kBAC5C9D,KAAA,CAAAsE,aAAA,CAAChE,YAAY;IACXuC,OAAO,EAAEA,OAAQ;IACjBT,OAAO,EAAEyB,YAAa;IACtBH,oBAAoB,EAAEA,oBAAqB;IAC3CI,oBAAoB,EAAEA;EAAqB,EAE9C,CACO;AAEd,CAAC;AAED/C,KAAK,CAAC8D,SAAS,GAAG;EAChB5D,GAAG,EAAEf,SAAS,CAAC4E,MAAM;EACrBxD,IAAI,EAAEpB,SAAS,CAAC4E,MAAM;EACtB5D,QAAQ,EAAEhB,SAAS,CAAC4E,MAAM;EAC1B1D,OAAO,EAAElB,SAAS,CAAC4E,MAAM;EACzBzD,cAAc,EAAEnB,SAAS,CAAC6E,IAAI;EAC9BxD,WAAW,EAAErB,SAAS,CAAC8E,IAAI;EAC3BxD,mBAAmB,EAAEtB,SAAS,CAAC8E,IAAI;EACnCvD,YAAY,EAAEvB,SAAS,CAAC6E,IAAI;EAC5BrD,cAAc,EAAExB,SAAS,CAAC+E,KAAK;EAC/BjD,MAAM,EAAE9B,SAAS,CAAC+E,KAAK;EACvBtD,MAAM,EAAEzB,SAAS,CAAC6E,IAAI;EACtBnD,QAAQ,EAAE1B,SAAS,CAAC6E,IAAI;EACxBlD,IAAI,EAAE3B,SAAS,CAAC4E,MAAM;EACtBhD,wBAAwB,EAAE5B,SAAS,CAAC6E,IAAI;EACxChD,kBAAkB,EAAE7B,SAAS,CAAC6E,IAAI;EAClC9C,SAAS,EAAE/B,SAAS,CAACgF,MAAM;EAC3BhD,QAAQ,EAAEhC,SAAS,CAAC4E,MAAM;EAC1B1C,OAAO,EAAElC,SAAS,CAAC4E,MAAM;EACzBzC,YAAY,EAAEnC,SAAS,CAAC4E,MAAM;EAC9B3C,YAAY,EAAEjC,SAAS,CAAC4E;AAC1B,CAAC;AAED/D,KAAK,CAACoE,YAAY,GAAG;EACnBjE,QAAQ,EAAE,EAAE;EACZD,GAAG,EAAE,IAAI;EACTK,IAAI,EAAE,EAAE;EACRc,OAAO,EAAE,EAAE;EACXC,YAAY,EAAE,EAAE;EAChBhB,cAAc,EAAE,KAAK;EACrBD,OAAO,EAAE,EAAE;EACXI,mBAAmB,EAAEA,CAAA,KAAM,CAAC,CAAC;EAC7BD,WAAW,EAAEA,CAAA,KAAM,CAAC,CAAC;EACrBE,YAAY,EAAE,KAAK;EACnBC,cAAc,EAAE,EAAE;EAClBM,MAAM,EAAE,EAAE;EACVL,MAAM,EAAE,KAAK;EACbC,QAAQ,EAAE,KAAK;EACfC,IAAI,EAAE,EAAE;EACRC,wBAAwB,EAAE,KAAK;EAC/BC,kBAAkB,EAAE,IAAI;EACxBE,SAAS,EAAE,CAAC,CAAC;EACbC,QAAQ,EAAE,EAAE;EACZC,YAAY,EAAE;AAChB,CAAC;AAED,eAAepB,KAAK"}
@@ -1 +1 @@
1
- {"version":3,"file":"FullRender.js","names":["React","Fragment","useContext","MainContext","MainContextProvider","PropTypes","uuid","FullRenderItem","ListPagination","LOAD_MORE","BANNER","Wrapper","checkIfShouldRenderBanner","FullRender","_ref","orderedListData","omitWrappers","paginationType","props","_objectWithoutProperties","_excluded","contextProps","pageBuilderID","parent","entity","propsToDisplay","banner","hasBanner","bannerProps","_objectSpread","type","bannerIndex","WrapperToUse","createElement","value","isPreview","className","map","_ref2","i","id","entityProps","_excluded2","shouldRenderBanner","_extends","key","index","itemId","propTypes","array","isRequired","string","object","bool","defaultProps"],"sources":["../../../../../src/components/List/components/Full/FullRender.js"],"sourcesContent":["import React, { Fragment, useContext } from 'react';\nimport { MainContext, MainContextProvider } from '@blaze-cms/nextjs-components';\nimport PropTypes from 'prop-types';\nimport uuid from 'uuid/v1';\nimport FullRenderItem from './FullRenderItem';\nimport ListPagination from '../Pagination';\nimport { LOAD_MORE } from '../../../../constants';\nimport { BANNER } from '../../constants';\nimport Wrapper from '../../../Wrapper';\nimport { checkIfShouldRenderBanner } from '../helpers';\n\nconst FullRender = ({ orderedListData, omitWrappers, paginationType, ...props }) => {\n const contextProps = useContext(MainContext);\n const pageBuilderID = uuid();\n const { parent, entity, propsToDisplay, banner, hasBanner } = props;\n const bannerProps = banner\n ? { hasBanner, parent, entity, propsToDisplay, ...banner, type: BANNER }\n : null;\n let bannerIndex = 0;\n\n const WrapperToUse = omitWrappers ? Fragment : Wrapper;\n\n return (\n <MainContextProvider value={{ ...contextProps, isPreview: false }}>\n <WrapperToUse className=\"list list--full\">\n {orderedListData.map(({ id, ...entityProps }, i) => {\n const shouldRenderBanner = !!bannerProps && checkIfShouldRenderBanner(i, bannerProps);\n if (shouldRenderBanner) bannerIndex += 1;\n\n return (\n <FullRenderItem\n key={id}\n {...props}\n {...entityProps}\n index={i}\n itemId={id}\n pageBuilderID={pageBuilderID}\n entityProps={entityProps}\n shouldRenderBanner={shouldRenderBanner}\n bannerProps={bannerProps}\n bannerIndex={bannerIndex}\n />\n );\n })}\n </WrapperToUse>\n\n {paginationType === LOAD_MORE && (\n <ListPagination paginationType={paginationType} {...props} />\n )}\n </MainContextProvider>\n );\n};\n\nFullRender.propTypes = {\n orderedListData: PropTypes.array.isRequired,\n paginationType: PropTypes.string.isRequired,\n parent: PropTypes.object.isRequired,\n propsToDisplay: PropTypes.array.isRequired,\n entity: PropTypes.string.isRequired,\n omitWrappers: PropTypes.bool,\n hasBanner: PropTypes.bool,\n banner: PropTypes.object\n};\n\nFullRender.defaultProps = {\n omitWrappers: false,\n hasBanner: false,\n banner: null\n};\n\nexport default FullRender;\n"],"mappings":";;;;;;;AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,UAAU,QAAQ,OAAO;AACnD,SAASC,WAAW,EAAEC,mBAAmB,QAAQ,8BAA8B;AAC/E,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,IAAI,MAAM,SAAS;AAC1B,OAAOC,cAAc,MAAM,kBAAkB;AAC7C,OAAOC,cAAc,MAAM,eAAe;AAC1C,SAASC,SAAS,QAAQ,uBAAuB;AACjD,SAASC,MAAM,QAAQ,iBAAiB;AACxC,OAAOC,OAAO,MAAM,kBAAkB;AACtC,SAASC,yBAAyB,QAAQ,YAAY;AAEtD,MAAMC,UAAU,GAAGC,IAAA,IAAiE;EAAA,IAAhE;MAAEC,eAAe;MAAEC,YAAY;MAAEC;IAAyB,CAAC,GAAAH,IAAA;IAAPI,KAAK,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA;EAC3E,MAAMC,YAAY,GAAGnB,UAAU,CAACC,WAAW,CAAC;EAC5C,MAAMmB,aAAa,GAAGhB,IAAI,EAAE;EAC5B,MAAM;IAAEiB,MAAM;IAAEC,MAAM;IAAEC,cAAc;IAAEC,MAAM;IAAEC;EAAU,CAAC,GAAGT,KAAK;EACnE,MAAMU,WAAW,GAAGF,MAAM,GAAAG,aAAA,CAAAA,aAAA;IACpBF,SAAS;IAAEJ,MAAM;IAAEC,MAAM;IAAEC;EAAc,GAAKC,MAAM;IAAEI,IAAI,EAAEpB;EAAM,KACpE,IAAI;EACR,IAAIqB,WAAW,GAAG,CAAC;EAEnB,MAAMC,YAAY,GAAGhB,YAAY,GAAGf,QAAQ,GAAGU,OAAO;EAEtD,oBACEX,KAAA,CAAAiC,aAAA,CAAC7B,mBAAmB;IAAC8B,KAAK,EAAAL,aAAA,CAAAA,aAAA,KAAOR,YAAY;MAAEc,SAAS,EAAE;IAAK;EAAG,gBAChEnC,KAAA,CAAAiC,aAAA,CAACD,YAAY;IAACI,SAAS,EAAC;EAAiB,GACtCrB,eAAe,CAACsB,GAAG,CAAC,CAAAC,KAAA,EAAyBC,CAAC,KAAK;IAAA,IAA9B;QAAEC;MAAmB,CAAC,GAAAF,KAAA;MAAbG,WAAW,GAAAtB,wBAAA,CAAAmB,KAAA,EAAAI,UAAA;IACxC,MAAMC,kBAAkB,GAAG,CAAC,CAACf,WAAW,IAAIhB,yBAAyB,CAAC2B,CAAC,EAAEX,WAAW,CAAC;IACrF,IAAIe,kBAAkB,EAAEZ,WAAW,IAAI,CAAC;IAExC,oBACE/B,KAAA,CAAAiC,aAAA,CAAC1B,cAAc,EAAAqC,QAAA;MACbC,GAAG,EAAEL;IAAG,GACJtB,KAAK,EACLuB,WAAW;MACfK,KAAK,EAAEP,CAAE;MACTQ,MAAM,EAAEP,EAAG;MACXlB,aAAa,EAAEA,aAAc;MAC7BmB,WAAW,EAAEA,WAAY;MACzBE,kBAAkB,EAAEA,kBAAmB;MACvCf,WAAW,EAAEA,WAAY;MACzBG,WAAW,EAAEA;IAAY,GACzB;EAEN,CAAC,CAAC,CACW,EAEdd,cAAc,KAAKR,SAAS,iBAC3BT,KAAA,CAAAiC,aAAA,CAACzB,cAAc,EAAAoC,QAAA;IAAC3B,cAAc,EAAEA;EAAe,GAAKC,KAAK,EAC1D,CACmB;AAE1B,CAAC;AAEDL,UAAU,CAACmC,SAAS,GAAG;EACrBjC,eAAe,EAAEV,SAAS,CAAC4C,KAAK,CAACC,UAAU;EAC3CjC,cAAc,EAAEZ,SAAS,CAAC8C,MAAM,CAACD,UAAU;EAC3C3B,MAAM,EAAElB,SAAS,CAAC+C,MAAM,CAACF,UAAU;EACnCzB,cAAc,EAAEpB,SAAS,CAAC4C,KAAK,CAACC,UAAU;EAC1C1B,MAAM,EAAEnB,SAAS,CAAC8C,MAAM,CAACD,UAAU;EACnClC,YAAY,EAAEX,SAAS,CAACgD,IAAI;EAC5B1B,SAAS,EAAEtB,SAAS,CAACgD,IAAI;EACzB3B,MAAM,EAAErB,SAAS,CAAC+C;AACpB,CAAC;AAEDvC,UAAU,CAACyC,YAAY,GAAG;EACxBtC,YAAY,EAAE,KAAK;EACnBW,SAAS,EAAE,KAAK;EAChBD,MAAM,EAAE;AACV,CAAC;AAED,eAAeb,UAAU"}
1
+ {"version":3,"file":"FullRender.js","names":["React","Fragment","useContext","MainContext","MainContextProvider","PropTypes","uuid","FullRenderItem","ListPagination","LOAD_MORE","BANNER","Wrapper","checkIfShouldRenderBanner","FullRender","_ref","orderedListData","omitWrappers","paginationType","props","_objectWithoutProperties","_excluded","contextProps","pageBuilderID","parent","entity","propsToDisplay","banner","hasBanner","bannerProps","_objectSpread","type","bannerIndex","WrapperToUse","createElement","value","isPreview","className","map","_ref2","i","id","entityProps","_excluded2","shouldRenderBanner","_extends","key","index","itemId","propTypes","array","isRequired","string","object","bool","defaultProps"],"sources":["../../../../../src/components/List/components/Full/FullRender.js"],"sourcesContent":["import React, { Fragment, useContext } from 'react';\nimport { MainContext, MainContextProvider } from '@blaze-cms/nextjs-components';\nimport PropTypes from 'prop-types';\nimport uuid from 'uuid/v1';\nimport FullRenderItem from './FullRenderItem';\nimport ListPagination from '../Pagination';\nimport { LOAD_MORE } from '../../../../constants';\nimport { BANNER } from '../../constants';\nimport Wrapper from '../../../Wrapper';\nimport { checkIfShouldRenderBanner } from '../helpers';\n\nconst FullRender = ({ orderedListData, omitWrappers, paginationType, ...props }) => {\n const contextProps = useContext(MainContext);\n const pageBuilderID = uuid();\n const { parent, entity, propsToDisplay, banner, hasBanner } = props;\n const bannerProps = banner\n ? { hasBanner, parent, entity, propsToDisplay, ...banner, type: BANNER }\n : null;\n let bannerIndex = 0;\n const WrapperToUse = omitWrappers ? Fragment : Wrapper;\n\n return (\n <MainContextProvider value={{ ...contextProps, isPreview: false }}>\n <WrapperToUse className=\"list list--full\">\n {orderedListData.map(({ id, ...entityProps }, i) => {\n const shouldRenderBanner = !!bannerProps && checkIfShouldRenderBanner(i, bannerProps);\n if (shouldRenderBanner) bannerIndex += 1;\n\n return (\n <FullRenderItem\n key={id}\n {...props}\n {...entityProps}\n index={i}\n itemId={id}\n pageBuilderID={pageBuilderID}\n entityProps={entityProps}\n shouldRenderBanner={shouldRenderBanner}\n bannerProps={bannerProps}\n bannerIndex={bannerIndex}\n />\n );\n })}\n </WrapperToUse>\n\n {paginationType === LOAD_MORE && (\n <ListPagination paginationType={paginationType} {...props} />\n )}\n </MainContextProvider>\n );\n};\n\nFullRender.propTypes = {\n orderedListData: PropTypes.array.isRequired,\n paginationType: PropTypes.string.isRequired,\n parent: PropTypes.object.isRequired,\n propsToDisplay: PropTypes.array.isRequired,\n entity: PropTypes.string.isRequired,\n omitWrappers: PropTypes.bool,\n hasBanner: PropTypes.bool,\n banner: PropTypes.object\n};\n\nFullRender.defaultProps = {\n omitWrappers: false,\n hasBanner: false,\n banner: null\n};\n\nexport default FullRender;\n"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- const checkIfShouldRenderBanner = (elementIndex, banner) => {
2
- if (!banner) return false;
1
+ const legacyCheckIfShouldRenderBanner = (elementIndex, banner) => {
3
2
  const {
4
3
  interval,
5
4
  repeat,
@@ -12,5 +11,32 @@ const checkIfShouldRenderBanner = (elementIndex, banner) => {
12
11
  if (repeat && repeatMatch) return true;
13
12
  return false;
14
13
  };
15
- export default checkIfShouldRenderBanner;
14
+ const checkNewBannerSettings = banner => {
15
+ if (!banner) return false;
16
+ const {
17
+ repeatEvery,
18
+ startingPoint,
19
+ maxRepetitions
20
+ } = banner;
21
+ return repeatEvery > 0 || startingPoint > 0 || maxRepetitions > 0;
22
+ };
23
+ const checkIfShouldRenderBanner = (elementIndex, banner) => {
24
+ if (!banner) return false;
25
+ if (!checkNewBannerSettings(banner)) return legacyCheckIfShouldRenderBanner(elementIndex, banner);
26
+ const {
27
+ repeatEvery,
28
+ startingPoint,
29
+ maxRepetitions
30
+ } = banner;
31
+ const position = elementIndex + 1;
32
+ if (position < startingPoint) return false;
33
+ if (position === startingPoint) return true;
34
+ const positionDifference = position - startingPoint;
35
+ if (positionDifference < repeatEvery) return false;
36
+ const timesRepeated = positionDifference / repeatEvery;
37
+ const repeatMatch = Number.isInteger(timesRepeated);
38
+ if (!repeatMatch) return false;
39
+ return timesRepeated < maxRepetitions;
40
+ };
41
+ export { checkIfShouldRenderBanner, checkNewBannerSettings };
16
42
  //# sourceMappingURL=check-if-should-render-banner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"check-if-should-render-banner.js","names":["checkIfShouldRenderBanner","elementIndex","banner","interval","repeat","hasBanner","position","repeatMatch","Number","isInteger"],"sources":["../../../../../src/components/List/components/helpers/check-if-should-render-banner.js"],"sourcesContent":["const checkIfShouldRenderBanner = (elementIndex, banner) => {\n if (!banner) return false;\n const { interval, repeat, hasBanner } = banner;\n if (!hasBanner || !interval) return false;\n const position = elementIndex + 1;\n if (position === interval) return true;\n const repeatMatch = Number.isInteger(position / interval);\n if (repeat && repeatMatch) return true;\n return false;\n};\n\nexport default checkIfShouldRenderBanner;\n"],"mappings":"AAAA,MAAMA,yBAAyB,GAAGA,CAACC,YAAY,EAAEC,MAAM,KAAK;EAC1D,IAAI,CAACA,MAAM,EAAE,OAAO,KAAK;EACzB,MAAM;IAAEC,QAAQ;IAAEC,MAAM;IAAEC;EAAU,CAAC,GAAGH,MAAM;EAC9C,IAAI,CAACG,SAAS,IAAI,CAACF,QAAQ,EAAE,OAAO,KAAK;EACzC,MAAMG,QAAQ,GAAGL,YAAY,GAAG,CAAC;EACjC,IAAIK,QAAQ,KAAKH,QAAQ,EAAE,OAAO,IAAI;EACtC,MAAMI,WAAW,GAAGC,MAAM,CAACC,SAAS,CAACH,QAAQ,GAAGH,QAAQ,CAAC;EACzD,IAAIC,MAAM,IAAIG,WAAW,EAAE,OAAO,IAAI;EACtC,OAAO,KAAK;AACd,CAAC;AAED,eAAeP,yBAAyB"}
1
+ {"version":3,"file":"check-if-should-render-banner.js","names":["legacyCheckIfShouldRenderBanner","elementIndex","banner","interval","repeat","hasBanner","position","repeatMatch","Number","isInteger","checkNewBannerSettings","repeatEvery","startingPoint","maxRepetitions","checkIfShouldRenderBanner","positionDifference","timesRepeated"],"sources":["../../../../../src/components/List/components/helpers/check-if-should-render-banner.js"],"sourcesContent":["const legacyCheckIfShouldRenderBanner = (elementIndex, banner) => {\n const { interval, repeat, hasBanner } = banner;\n if (!hasBanner || !interval) return false;\n const position = elementIndex + 1;\n if (position === interval) return true;\n const repeatMatch = Number.isInteger(position / interval);\n if (repeat && repeatMatch) return true;\n return false;\n};\nconst checkNewBannerSettings = banner => {\n if (!banner) return false;\n\n const { repeatEvery, startingPoint, maxRepetitions } = banner;\n return repeatEvery > 0 || startingPoint > 0 || maxRepetitions > 0;\n};\n\nconst checkIfShouldRenderBanner = (elementIndex, banner) => {\n if (!banner) return false;\n if (!checkNewBannerSettings(banner)) return legacyCheckIfShouldRenderBanner(elementIndex, banner);\n\n const { repeatEvery, startingPoint, maxRepetitions } = banner;\n const position = elementIndex + 1;\n if (position < startingPoint) return false;\n if (position === startingPoint) return true;\n const positionDifference = position - startingPoint;\n if (positionDifference < repeatEvery) return false;\n const timesRepeated = positionDifference / repeatEvery;\n const repeatMatch = Number.isInteger(timesRepeated);\n if (!repeatMatch) return false;\n return timesRepeated < maxRepetitions;\n};\n\nexport { checkIfShouldRenderBanner, checkNewBannerSettings };\n"],"mappings":"AAAA,MAAMA,+BAA+B,GAAGA,CAACC,YAAY,EAAEC,MAAM,KAAK;EAChE,MAAM;IAAEC,QAAQ;IAAEC,MAAM;IAAEC;EAAU,CAAC,GAAGH,MAAM;EAC9C,IAAI,CAACG,SAAS,IAAI,CAACF,QAAQ,EAAE,OAAO,KAAK;EACzC,MAAMG,QAAQ,GAAGL,YAAY,GAAG,CAAC;EACjC,IAAIK,QAAQ,KAAKH,QAAQ,EAAE,OAAO,IAAI;EACtC,MAAMI,WAAW,GAAGC,MAAM,CAACC,SAAS,CAACH,QAAQ,GAAGH,QAAQ,CAAC;EACzD,IAAIC,MAAM,IAAIG,WAAW,EAAE,OAAO,IAAI;EACtC,OAAO,KAAK;AACd,CAAC;AACD,MAAMG,sBAAsB,GAAGR,MAAM,IAAI;EACvC,IAAI,CAACA,MAAM,EAAE,OAAO,KAAK;EAEzB,MAAM;IAAES,WAAW;IAAEC,aAAa;IAAEC;EAAe,CAAC,GAAGX,MAAM;EAC7D,OAAOS,WAAW,GAAG,CAAC,IAAIC,aAAa,GAAG,CAAC,IAAIC,cAAc,GAAG,CAAC;AACnE,CAAC;AAED,MAAMC,yBAAyB,GAAGA,CAACb,YAAY,EAAEC,MAAM,KAAK;EAC1D,IAAI,CAACA,MAAM,EAAE,OAAO,KAAK;EACzB,IAAI,CAACQ,sBAAsB,CAACR,MAAM,CAAC,EAAE,OAAOF,+BAA+B,CAACC,YAAY,EAAEC,MAAM,CAAC;EAEjG,MAAM;IAAES,WAAW;IAAEC,aAAa;IAAEC;EAAe,CAAC,GAAGX,MAAM;EAC7D,MAAMI,QAAQ,GAAGL,YAAY,GAAG,CAAC;EACjC,IAAIK,QAAQ,GAAGM,aAAa,EAAE,OAAO,KAAK;EAC1C,IAAIN,QAAQ,KAAKM,aAAa,EAAE,OAAO,IAAI;EAC3C,MAAMG,kBAAkB,GAAGT,QAAQ,GAAGM,aAAa;EACnD,IAAIG,kBAAkB,GAAGJ,WAAW,EAAE,OAAO,KAAK;EAClD,MAAMK,aAAa,GAAGD,kBAAkB,GAAGJ,WAAW;EACtD,MAAMJ,WAAW,GAAGC,MAAM,CAACC,SAAS,CAACO,aAAa,CAAC;EACnD,IAAI,CAACT,WAAW,EAAE,OAAO,KAAK;EAC9B,OAAOS,aAAa,GAAGH,cAAc;AACvC,CAAC;AAED,SAASC,yBAAyB,EAAEJ,sBAAsB"}
@@ -1,3 +1,4 @@
1
- export { default as checkIfShouldRenderGtm } from './check-if-should-render-gtm';
2
- export { default as checkIfShouldRenderBanner } from './check-if-should-render-banner';
1
+ import { checkIfShouldRenderBanner, checkNewBannerSettings } from './check-if-should-render-banner';
2
+ import checkIfShouldRenderGtm from './check-if-should-render-gtm';
3
+ export { checkIfShouldRenderBanner, checkNewBannerSettings, checkIfShouldRenderGtm };
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default","checkIfShouldRenderGtm","checkIfShouldRenderBanner"],"sources":["../../../../../src/components/List/components/helpers/index.js"],"sourcesContent":["export { default as checkIfShouldRenderGtm } from './check-if-should-render-gtm';\nexport { default as checkIfShouldRenderBanner } from './check-if-should-render-banner';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,sBAAsB,QAAQ,8BAA8B;AAChF,SAASD,OAAO,IAAIE,yBAAyB,QAAQ,iCAAiC"}
1
+ {"version":3,"file":"index.js","names":["checkIfShouldRenderBanner","checkNewBannerSettings","checkIfShouldRenderGtm"],"sources":["../../../../../src/components/List/components/helpers/index.js"],"sourcesContent":["import { checkIfShouldRenderBanner, checkNewBannerSettings } from './check-if-should-render-banner';\nimport checkIfShouldRenderGtm from './check-if-should-render-gtm';\n\nexport { checkIfShouldRenderBanner, checkNewBannerSettings, checkIfShouldRenderGtm };\n"],"mappings":"AAAA,SAASA,yBAAyB,EAAEC,sBAAsB,QAAQ,iCAAiC;AACnG,OAAOC,sBAAsB,MAAM,8BAA8B;AAEjE,SAASF,yBAAyB,EAAEC,sBAAsB,EAAEC,sBAAsB"}
@@ -1 +1 @@
1
- {"version":3,"file":"SearchFilter.js","names":["React","useState","useEffect","PropTypes","classnames","debounce","FiltersList","isDeviceDesktop","buildQuery","getInitialFilterValues","getResponsiveFilterClassnames","CloseMobileForm","ResetDesktopForm","MobileFormToolbar","SEARCH","REFINE","MORE_FILTERS_CLASSES","SearchFilter","searchFilterRef","data","filters","hasUrl","entity","handleSearch","name","isCollapsedOnResponsive","displaySearchFilter","setDisplaySearchFilter","groupAfterDesktop","groupAfterMobile","filterValues","setAppliedFilters","moreFiltersMobileCollapsed","setMoreFiltersMobileCollapsed","moreFiltersDesktopCollapsed","setMoreFiltersDesktopCollapsed","doSubmit","newValues","newQuery","handleSubmit","shouldSearch","type","formClass","moreFiltersMobileWrapperClass","moreFiltersMobileTogglerClass","moreFiltersDesktopWrapperClass","moreFiltersDesktopTogglerClass","formId","handleReset","updateFilterValues","shouldSubmit","shouldGroup","createElement","Fragment","ref","className","id","onSubmit","e","preventDefault","handleClose","slice","onClick","MOBILE_CONTENT","DESKTOP_CONTENT","DESKTOP_BUTTONS","MOBILE_BUTTONS","role","propTypes","object","isRequired","array","bool","string","func","number"],"sources":["../../../../src/components/SearchFilter/SearchFilter/SearchFilter.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport debounce from 'lodash.debounce';\nimport FiltersList from './FiltersList';\nimport {\n isDeviceDesktop,\n buildQuery,\n getInitialFilterValues,\n getResponsiveFilterClassnames\n} from '../helpers';\nimport CloseMobileForm from './CloseMobileForm';\nimport ResetDesktopForm from './ResetDesktopForm';\nimport MobileFormToolbar from './MobileFormToolbar';\nimport { SEARCH, REFINE, MORE_FILTERS_CLASSES } from '../constants';\n\nconst SearchFilter = ({\n searchFilterRef,\n data,\n filters,\n hasUrl,\n entity,\n handleSearch,\n name,\n isCollapsedOnResponsive,\n displaySearchFilter,\n setDisplaySearchFilter,\n groupAfterDesktop,\n groupAfterMobile,\n filterValues,\n setAppliedFilters\n}) => {\n const [moreFiltersMobileCollapsed, setMoreFiltersMobileCollapsed] = useState(true);\n const [moreFiltersDesktopCollapsed, setMoreFiltersDesktopCollapsed] = useState(true);\n\n const doSubmit = (newValues = filterValues) => {\n const newQuery = buildQuery(newValues, filters);\n handleSearch(newQuery);\n setMoreFiltersDesktopCollapsed(true);\n setMoreFiltersMobileCollapsed(true);\n };\n\n const handleSubmit = debounce(newValues => {\n doSubmit(newValues);\n }, 200);\n\n useEffect(\n () => {\n if (filterValues.shouldSearch) {\n handleSubmit(filterValues);\n setAppliedFilters({ type: 'resetSearch' });\n }\n },\n [filterValues, handleSubmit, setAppliedFilters]\n );\n\n const formClass = classnames('filter__form filter__form--initial', {\n 'filter__form--mobile': isCollapsedOnResponsive && displaySearchFilter,\n 'filter__form--collapsible': isCollapsedOnResponsive\n });\n\n const {\n moreFiltersMobileWrapperClass,\n moreFiltersMobileTogglerClass,\n moreFiltersDesktopWrapperClass,\n moreFiltersDesktopTogglerClass\n } = getResponsiveFilterClassnames(moreFiltersDesktopCollapsed, moreFiltersMobileCollapsed);\n\n const formId = `filter-${name}-form`;\n\n const handleReset = () => {\n const newValues = getInitialFilterValues(null, filters, {});\n setAppliedFilters({ newValues, type: 'reset' });\n doSubmit(newValues);\n };\n\n const updateFilterValues = (newValues, shouldSubmit) => {\n setAppliedFilters({ newValues, shouldSearch: shouldSubmit, type: 'update' });\n };\n\n const shouldGroup = !!(groupAfterDesktop || groupAfterMobile);\n const shouldSearch = !hasUrl;\n\n return (\n <>\n <form\n ref={searchFilterRef}\n className={formClass}\n data-testid={formId}\n id={formId}\n onSubmit={e => {\n e.preventDefault();\n doSubmit();\n }}>\n {displaySearchFilter && (\n <CloseMobileForm handleClose={() => setDisplaySearchFilter(false)} />\n )}\n\n <div className=\"filter filter--search-refine\">\n <ResetDesktopForm handleReset={handleReset} />\n\n <div className=\"filter__wrapper filter__wrapper--search-refine\">\n {!shouldGroup && (\n <FiltersList\n shouldSearch={shouldSearch}\n data={data}\n filters={filters}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n )}\n\n {shouldGroup && (\n <>\n <FiltersList\n shouldSearch={shouldSearch}\n data={data}\n filters={filters.slice(0, groupAfterMobile)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterMobile && (\n <button\n data-testId=\"search-filter-mobile-toggler\"\n className={moreFiltersMobileTogglerClass}\n type=\"button\"\n onClick={() => setMoreFiltersMobileCollapsed(!moreFiltersMobileCollapsed)}>\n Filters\n </button>\n )}\n\n <div className={moreFiltersMobileWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.MOBILE_CONTENT}>\n <FiltersList\n shouldSearch={shouldSearch && isDeviceDesktop()}\n data={data}\n filters={filters.slice(\n groupAfterMobile,\n groupAfterDesktop ? groupAfterDesktop - 1 : 0\n )}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterDesktop && (\n <button\n data-testId=\"search-filter-desktop-toggler\"\n className={moreFiltersDesktopTogglerClass}\n type=\"button\"\n onClick={() =>\n setMoreFiltersDesktopCollapsed(!moreFiltersDesktopCollapsed)\n }>\n More filters\n </button>\n )}\n\n <div className={moreFiltersDesktopWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.DESKTOP_CONTENT}>\n <FiltersList\n shouldSearch={false}\n data={data}\n filters={filters.slice(groupAfterDesktop)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n </div>\n\n <div className={MORE_FILTERS_CLASSES.DESKTOP_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </div>\n\n <div className={MORE_FILTERS_CLASSES.MOBILE_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </>\n )}\n\n <br />\n\n {!displaySearchFilter && (\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n )}\n </div>\n </div>\n\n {displaySearchFilter && <MobileFormToolbar formId={formId} handleReset={handleReset} />}\n </form>\n\n {isCollapsedOnResponsive &&\n !displaySearchFilter && (\n <div className=\"filter__refine filter__refine--mobile-close\" data-testid=\"refine-mobile\">\n <div role=\"button\" onClick={() => setDisplaySearchFilter(true)}>\n {REFINE}\n </div>\n </div>\n )}\n </>\n );\n};\n\nSearchFilter.propTypes = {\n data: PropTypes.object.isRequired,\n filters: PropTypes.array.isRequired,\n searchFilterRef: PropTypes.object.isRequired,\n hasUrl: PropTypes.bool.isRequired,\n entity: PropTypes.string.isRequired,\n handleSearch: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n displaySearchFilter: PropTypes.bool.isRequired,\n setDisplaySearchFilter: PropTypes.func.isRequired,\n isCollapsedOnResponsive: PropTypes.bool.isRequired,\n groupAfterDesktop: PropTypes.number.isRequired,\n groupAfterMobile: PropTypes.number.isRequired,\n filterValues: PropTypes.object.isRequired,\n setAppliedFilters: PropTypes.func.isRequired\n};\n\nexport default SearchFilter;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAClD,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,QAAQ,MAAM,iBAAiB;AACtC,OAAOC,WAAW,MAAM,eAAe;AACvC,SACEC,eAAe,EACfC,UAAU,EACVC,sBAAsB,EACtBC,6BAA6B,QACxB,YAAY;AACnB,OAAOC,eAAe,MAAM,mBAAmB;AAC/C,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,OAAOC,iBAAiB,MAAM,qBAAqB;AACnD,SAASC,MAAM,EAAEC,MAAM,EAAEC,oBAAoB,QAAQ,cAAc;AAEnE,MAAMC,YAAY,GAAGA,CAAC;EACpBC,eAAe;EACfC,IAAI;EACJC,OAAO;EACPC,MAAM;EACNC,MAAM;EACNC,YAAY;EACZC,IAAI;EACJC,uBAAuB;EACvBC,mBAAmB;EACnBC,sBAAsB;EACtBC,iBAAiB;EACjBC,gBAAgB;EAChBC,YAAY;EACZC;AACF,CAAC,KAAK;EACJ,MAAM,CAACC,0BAA0B,EAAEC,6BAA6B,CAAC,GAAGhC,QAAQ,CAAC,IAAI,CAAC;EAClF,MAAM,CAACiC,2BAA2B,EAAEC,8BAA8B,CAAC,GAAGlC,QAAQ,CAAC,IAAI,CAAC;EAEpF,MAAMmC,QAAQ,GAAGA,CAACC,SAAS,GAAGP,YAAY,KAAK;IAC7C,MAAMQ,QAAQ,GAAG9B,UAAU,CAAC6B,SAAS,EAAEjB,OAAO,CAAC;IAC/CG,YAAY,CAACe,QAAQ,CAAC;IACtBH,8BAA8B,CAAC,IAAI,CAAC;IACpCF,6BAA6B,CAAC,IAAI,CAAC;EACrC,CAAC;EAED,MAAMM,YAAY,GAAGlC,QAAQ,CAACgC,SAAS,IAAI;IACzCD,QAAQ,CAACC,SAAS,CAAC;EACrB,CAAC,EAAE,GAAG,CAAC;EAEPnC,SAAS,CACP,MAAM;IACJ,IAAI4B,YAAY,CAACU,YAAY,EAAE;MAC7BD,YAAY,CAACT,YAAY,CAAC;MAC1BC,iBAAiB,CAAC;QAAEU,IAAI,EAAE;MAAc,CAAC,CAAC;IAC5C;EACF,CAAC,EACD,CAACX,YAAY,EAAES,YAAY,EAAER,iBAAiB,CAAC,CAChD;EAED,MAAMW,SAAS,GAAGtC,UAAU,CAAC,oCAAoC,EAAE;IACjE,sBAAsB,EAAEqB,uBAAuB,IAAIC,mBAAmB;IACtE,2BAA2B,EAAED;EAC/B,CAAC,CAAC;EAEF,MAAM;IACJkB,6BAA6B;IAC7BC,6BAA6B;IAC7BC,8BAA8B;IAC9BC;EACF,CAAC,GAAGpC,6BAA6B,CAACwB,2BAA2B,EAAEF,0BAA0B,CAAC;EAE1F,MAAMe,MAAM,GAAI,UAASvB,IAAK,OAAM;EAEpC,MAAMwB,WAAW,GAAGA,CAAA,KAAM;IACxB,MAAMX,SAAS,GAAG5B,sBAAsB,CAAC,IAAI,EAAEW,OAAO,EAAE,CAAC,CAAC,CAAC;IAC3DW,iBAAiB,CAAC;MAAEM,SAAS;MAAEI,IAAI,EAAE;IAAQ,CAAC,CAAC;IAC/CL,QAAQ,CAACC,SAAS,CAAC;EACrB,CAAC;EAED,MAAMY,kBAAkB,GAAGA,CAACZ,SAAS,EAAEa,YAAY,KAAK;IACtDnB,iBAAiB,CAAC;MAAEM,SAAS;MAAEG,YAAY,EAAEU,YAAY;MAAET,IAAI,EAAE;IAAS,CAAC,CAAC;EAC9E,CAAC;EAED,MAAMU,WAAW,GAAG,CAAC,EAAEvB,iBAAiB,IAAIC,gBAAgB,CAAC;EAC7D,MAAMW,YAAY,GAAG,CAACnB,MAAM;EAE5B,oBACErB,KAAA,CAAAoD,aAAA,CAAApD,KAAA,CAAAqD,QAAA,qBACErD,KAAA,CAAAoD,aAAA;IACEE,GAAG,EAAEpC,eAAgB;IACrBqC,SAAS,EAAEb,SAAU;IACrB,eAAaK,MAAO;IACpBS,EAAE,EAAET,MAAO;IACXU,QAAQ,EAAEC,CAAC,IAAI;MACbA,CAAC,CAACC,cAAc,EAAE;MAClBvB,QAAQ,EAAE;IACZ;EAAE,GACDV,mBAAmB,iBAClB1B,KAAA,CAAAoD,aAAA,CAACzC,eAAe;IAACiD,WAAW,EAAEA,CAAA,KAAMjC,sBAAsB,CAAC,KAAK;EAAE,EACnE,eAED3B,KAAA,CAAAoD,aAAA;IAAKG,SAAS,EAAC;EAA8B,gBAC3CvD,KAAA,CAAAoD,aAAA,CAACxC,gBAAgB;IAACoC,WAAW,EAAEA;EAAY,EAAG,eAE9ChD,KAAA,CAAAoD,aAAA;IAAKG,SAAS,EAAC;EAAgD,GAC5D,CAACJ,WAAW,iBACXnD,KAAA,CAAAoD,aAAA,CAAC9C,WAAW;IACVkC,YAAY,EAAEA,YAAa;IAC3BrB,IAAI,EAAEA,IAAK;IACXC,OAAO,EAAEA,OAAQ;IACjBC,MAAM,EAAEA,MAAO;IACfC,MAAM,EAAEA,MAAO;IACfQ,YAAY,EAAEA,YAAa;IAC3BmB,kBAAkB,EAAEA;EAAmB,EAE1C,EAEAE,WAAW,iBACVnD,KAAA,CAAAoD,aAAA,CAAApD,KAAA,CAAAqD,QAAA,qBACErD,KAAA,CAAAoD,aAAA,CAAC9C,WAAW;IACVkC,YAAY,EAAEA,YAAa;IAC3BrB,IAAI,EAAEA,IAAK;IACXC,OAAO,EAAEA,OAAO,CAACyC,KAAK,CAAC,CAAC,EAAEhC,gBAAgB,CAAE;IAC5CR,MAAM,EAAEA,MAAO;IACfC,MAAM,EAAEA,MAAO;IACfQ,YAAY,EAAEA,YAAa;IAC3BmB,kBAAkB,EAAEA;EAAmB,EACvC,EAED,CAAC,CAACpB,gBAAgB,iBACjB7B,KAAA,CAAAoD,aAAA;IACE,eAAY,8BAA8B;IAC1CG,SAAS,EAAEX,6BAA8B;IACzCH,IAAI,EAAC,QAAQ;IACbqB,OAAO,EAAEA,CAAA,KAAM7B,6BAA6B,CAAC,CAACD,0BAA0B;EAAE,GAAC,SAE7E,CACD,eAEDhC,KAAA,CAAAoD,aAAA;IAAKG,SAAS,EAAEZ;EAA8B,gBAC5C3C,KAAA,CAAAoD,aAAA;IAAKG,SAAS,EAAEvC,oBAAoB,CAAC+C;EAAe,gBAClD/D,KAAA,CAAAoD,aAAA,CAAC9C,WAAW;IACVkC,YAAY,EAAEA,YAAY,IAAIjC,eAAe,EAAG;IAChDY,IAAI,EAAEA,IAAK;IACXC,OAAO,EAAEA,OAAO,CAACyC,KAAK,CACpBhC,gBAAgB,EAChBD,iBAAiB,GAAGA,iBAAiB,GAAG,CAAC,GAAG,CAAC,CAC7C;IACFP,MAAM,EAAEA,MAAO;IACfC,MAAM,EAAEA,MAAO;IACfQ,YAAY,EAAEA,YAAa;IAC3BmB,kBAAkB,EAAEA;EAAmB,EACvC,EAED,CAAC,CAACrB,iBAAiB,iBAClB5B,KAAA,CAAAoD,aAAA;IACE,eAAY,+BAA+B;IAC3CG,SAAS,EAAET,8BAA+B;IAC1CL,IAAI,EAAC,QAAQ;IACbqB,OAAO,EAAEA,CAAA,KACP3B,8BAA8B,CAAC,CAACD,2BAA2B;EAC5D,GAAC,cAEJ,CACD,eAEDlC,KAAA,CAAAoD,aAAA;IAAKG,SAAS,EAAEV;EAA+B,gBAC7C7C,KAAA,CAAAoD,aAAA;IAAKG,SAAS,EAAEvC,oBAAoB,CAACgD;EAAgB,gBACnDhE,KAAA,CAAAoD,aAAA,CAAC9C,WAAW;IACVkC,YAAY,EAAE,KAAM;IACpBrB,IAAI,EAAEA,IAAK;IACXC,OAAO,EAAEA,OAAO,CAACyC,KAAK,CAACjC,iBAAiB,CAAE;IAC1CP,MAAM,EAAEA,MAAO;IACfC,MAAM,EAAEA,MAAO;IACfQ,YAAY,EAAEA,YAAa;IAC3BmB,kBAAkB,EAAEA;EAAmB,EACvC,CACE,eAENjD,KAAA,CAAAoD,aAAA;IAAKG,SAAS,EAAEvC,oBAAoB,CAACiD;EAAgB,gBACnDjE,KAAA,CAAAoD,aAAA,CAACxC,gBAAgB;IAACoC,WAAW,EAAEA;EAAY,EAAG,eAE9ChD,KAAA,CAAAoD,aAAA;IAAQG,SAAS,EAAC,2BAA2B;IAACd,IAAI,EAAC;EAAQ,GACxD3B,MAAM,CACA,CACL,CACF,CACF,eAENd,KAAA,CAAAoD,aAAA;IAAKG,SAAS,EAAEvC,oBAAoB,CAACkD;EAAe,gBAClDlE,KAAA,CAAAoD,aAAA,CAACxC,gBAAgB;IAACoC,WAAW,EAAEA;EAAY,EAAG,eAE9ChD,KAAA,CAAAoD,aAAA;IAAQG,SAAS,EAAC,2BAA2B;IAACd,IAAI,EAAC;EAAQ,GACxD3B,MAAM,CACA,CACL,CACF,CAET,eAEDd,KAAA,CAAAoD,aAAA,YAAM,EAEL,CAAC1B,mBAAmB,iBACnB1B,KAAA,CAAAoD,aAAA;IAAQG,SAAS,EAAC,2BAA2B;IAACd,IAAI,EAAC;EAAQ,GACxD3B,MAAM,CAEV,CACG,CACF,EAELY,mBAAmB,iBAAI1B,KAAA,CAAAoD,aAAA,CAACvC,iBAAiB;IAACkC,MAAM,EAAEA,MAAO;IAACC,WAAW,EAAEA;EAAY,EAAG,CAClF,EAENvB,uBAAuB,IACtB,CAACC,mBAAmB,iBAClB1B,KAAA,CAAAoD,aAAA;IAAKG,SAAS,EAAC,6CAA6C;IAAC,eAAY;EAAe,gBACtFvD,KAAA,CAAAoD,aAAA;IAAKe,IAAI,EAAC,QAAQ;IAACL,OAAO,EAAEA,CAAA,KAAMnC,sBAAsB,CAAC,IAAI;EAAE,GAC5DZ,MAAM,CACH,CAET,CACF;AAEP,CAAC;AAEDE,YAAY,CAACmD,SAAS,GAAG;EACvBjD,IAAI,EAAEhB,SAAS,CAACkE,MAAM,CAACC,UAAU;EACjClD,OAAO,EAAEjB,SAAS,CAACoE,KAAK,CAACD,UAAU;EACnCpD,eAAe,EAAEf,SAAS,CAACkE,MAAM,CAACC,UAAU;EAC5CjD,MAAM,EAAElB,SAAS,CAACqE,IAAI,CAACF,UAAU;EACjChD,MAAM,EAAEnB,SAAS,CAACsE,MAAM,CAACH,UAAU;EACnC/C,YAAY,EAAEpB,SAAS,CAACuE,IAAI,CAACJ,UAAU;EACvC9C,IAAI,EAAErB,SAAS,CAACsE,MAAM,CAACH,UAAU;EACjC5C,mBAAmB,EAAEvB,SAAS,CAACqE,IAAI,CAACF,UAAU;EAC9C3C,sBAAsB,EAAExB,SAAS,CAACuE,IAAI,CAACJ,UAAU;EACjD7C,uBAAuB,EAAEtB,SAAS,CAACqE,IAAI,CAACF,UAAU;EAClD1C,iBAAiB,EAAEzB,SAAS,CAACwE,MAAM,CAACL,UAAU;EAC9CzC,gBAAgB,EAAE1B,SAAS,CAACwE,MAAM,CAACL,UAAU;EAC7CxC,YAAY,EAAE3B,SAAS,CAACkE,MAAM,CAACC,UAAU;EACzCvC,iBAAiB,EAAE5B,SAAS,CAACuE,IAAI,CAACJ;AACpC,CAAC;AAED,eAAerD,YAAY"}
1
+ {"version":3,"file":"SearchFilter.js","names":["React","useState","useEffect","PropTypes","classnames","debounce","FiltersList","isDeviceDesktop","buildQuery","getInitialFilterValues","getResponsiveFilterClassnames","CloseMobileForm","ResetDesktopForm","MobileFormToolbar","SEARCH","REFINE","MORE_FILTERS_CLASSES","SearchFilter","searchFilterRef","data","filters","hasUrl","entity","handleSearch","name","isCollapsedOnResponsive","displaySearchFilter","setDisplaySearchFilter","groupAfterDesktop","groupAfterMobile","filterValues","setAppliedFilters","moreFiltersMobileCollapsed","setMoreFiltersMobileCollapsed","moreFiltersDesktopCollapsed","setMoreFiltersDesktopCollapsed","doSubmit","newValues","newQuery","handleSubmit","shouldSearch","type","formClass","moreFiltersMobileWrapperClass","moreFiltersMobileTogglerClass","moreFiltersDesktopWrapperClass","moreFiltersDesktopTogglerClass","formId","handleReset","updateFilterValues","shouldSubmit","shouldGroup","createElement","Fragment","ref","className","id","onSubmit","e","preventDefault","handleClose","slice","onClick","MOBILE_CONTENT","DESKTOP_CONTENT","DESKTOP_BUTTONS","MOBILE_BUTTONS","role","propTypes","object","isRequired","array","bool","string","func","number"],"sources":["../../../../src/components/SearchFilter/SearchFilter/SearchFilter.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport debounce from 'lodash.debounce';\nimport FiltersList from './FiltersList';\nimport {\n isDeviceDesktop,\n buildQuery,\n getInitialFilterValues,\n getResponsiveFilterClassnames\n} from '../helpers';\nimport CloseMobileForm from './CloseMobileForm';\nimport ResetDesktopForm from './ResetDesktopForm';\nimport MobileFormToolbar from './MobileFormToolbar';\nimport { SEARCH, REFINE, MORE_FILTERS_CLASSES } from '../constants';\n\nconst SearchFilter = ({\n searchFilterRef,\n data,\n filters,\n hasUrl,\n entity,\n handleSearch,\n name,\n isCollapsedOnResponsive,\n displaySearchFilter,\n setDisplaySearchFilter,\n groupAfterDesktop,\n groupAfterMobile,\n filterValues,\n setAppliedFilters\n}) => {\n const [moreFiltersMobileCollapsed, setMoreFiltersMobileCollapsed] = useState(true);\n const [moreFiltersDesktopCollapsed, setMoreFiltersDesktopCollapsed] = useState(true);\n\n const doSubmit = (newValues = filterValues) => {\n const newQuery = buildQuery(newValues, filters);\n handleSearch(newQuery);\n setMoreFiltersDesktopCollapsed(true);\n setMoreFiltersMobileCollapsed(true);\n };\n\n const handleSubmit = debounce(newValues => {\n doSubmit(newValues);\n }, 200);\n\n useEffect(\n () => {\n if (filterValues.shouldSearch) {\n handleSubmit(filterValues);\n setAppliedFilters({ type: 'resetSearch' });\n }\n },\n [filterValues, handleSubmit, setAppliedFilters]\n );\n\n const formClass = classnames('filter__form filter__form--initial', {\n 'filter__form--mobile': isCollapsedOnResponsive && displaySearchFilter,\n 'filter__form--collapsible': isCollapsedOnResponsive\n });\n\n const {\n moreFiltersMobileWrapperClass,\n moreFiltersMobileTogglerClass,\n moreFiltersDesktopWrapperClass,\n moreFiltersDesktopTogglerClass\n } = getResponsiveFilterClassnames(moreFiltersDesktopCollapsed, moreFiltersMobileCollapsed);\n\n const formId = `filter-${name}-form`;\n\n const handleReset = () => {\n const newValues = getInitialFilterValues(null, filters, {});\n setAppliedFilters({ newValues, type: 'reset' });\n doSubmit(newValues);\n };\n\n const updateFilterValues = (newValues, shouldSubmit) => {\n setAppliedFilters({ newValues, shouldSearch: shouldSubmit, type: 'update' });\n };\n\n const shouldGroup = !!(groupAfterDesktop || groupAfterMobile);\n const shouldSearch = !hasUrl;\n return (\n <>\n <form\n ref={searchFilterRef}\n className={formClass}\n data-testid={formId}\n id={formId}\n onSubmit={e => {\n e.preventDefault();\n doSubmit();\n }}>\n {displaySearchFilter && (\n <CloseMobileForm handleClose={() => setDisplaySearchFilter(false)} />\n )}\n\n <div className=\"filter filter--search-refine\">\n <ResetDesktopForm handleReset={handleReset} />\n\n <div className=\"filter__wrapper filter__wrapper--search-refine\">\n {!shouldGroup && (\n <FiltersList\n shouldSearch={shouldSearch}\n data={data}\n filters={filters}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n )}\n\n {shouldGroup && (\n <>\n <FiltersList\n shouldSearch={shouldSearch}\n data={data}\n filters={filters.slice(0, groupAfterMobile)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterMobile && (\n <button\n data-testId=\"search-filter-mobile-toggler\"\n className={moreFiltersMobileTogglerClass}\n type=\"button\"\n onClick={() => setMoreFiltersMobileCollapsed(!moreFiltersMobileCollapsed)}>\n Filters\n </button>\n )}\n\n <div className={moreFiltersMobileWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.MOBILE_CONTENT}>\n <FiltersList\n shouldSearch={shouldSearch && isDeviceDesktop()}\n data={data}\n filters={filters.slice(\n groupAfterMobile,\n groupAfterDesktop ? groupAfterDesktop - 1 : 0\n )}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterDesktop && (\n <button\n data-testId=\"search-filter-desktop-toggler\"\n className={moreFiltersDesktopTogglerClass}\n type=\"button\"\n onClick={() =>\n setMoreFiltersDesktopCollapsed(!moreFiltersDesktopCollapsed)\n }>\n More filters\n </button>\n )}\n\n <div className={moreFiltersDesktopWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.DESKTOP_CONTENT}>\n <FiltersList\n shouldSearch={false}\n data={data}\n filters={filters.slice(groupAfterDesktop)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n </div>\n\n <div className={MORE_FILTERS_CLASSES.DESKTOP_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </div>\n\n <div className={MORE_FILTERS_CLASSES.MOBILE_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </>\n )}\n\n <br />\n\n {!displaySearchFilter && (\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n )}\n </div>\n </div>\n\n {displaySearchFilter && <MobileFormToolbar formId={formId} handleReset={handleReset} />}\n </form>\n\n {isCollapsedOnResponsive &&\n !displaySearchFilter && (\n <div className=\"filter__refine filter__refine--mobile-close\" data-testid=\"refine-mobile\">\n <div role=\"button\" onClick={() => setDisplaySearchFilter(true)}>\n {REFINE}\n </div>\n </div>\n )}\n </>\n );\n};\n\nSearchFilter.propTypes = {\n data: PropTypes.object.isRequired,\n filters: PropTypes.array.isRequired,\n searchFilterRef: PropTypes.object.isRequired,\n hasUrl: PropTypes.bool.isRequired,\n entity: PropTypes.string.isRequired,\n handleSearch: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n displaySearchFilter: PropTypes.bool.isRequired,\n setDisplaySearchFilter: PropTypes.func.isRequired,\n isCollapsedOnResponsive: PropTypes.bool.isRequired,\n groupAfterDesktop: PropTypes.number.isRequired,\n groupAfterMobile: PropTypes.number.isRequired,\n filterValues: PropTypes.object.isRequired,\n setAppliedFilters: PropTypes.func.isRequired\n};\n\nexport default SearchFilter;\n"],"mappings":"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"}
@@ -12,6 +12,7 @@ const Checkbox = ({
12
12
  updateFilterValues,
13
13
  filterValues,
14
14
  label,
15
+ elementTitle,
15
16
  shouldSearch,
16
17
  displayFilterCount
17
18
  }) => {
@@ -55,7 +56,9 @@ const Checkbox = ({
55
56
  disabled: value[2]
56
57
  }));
57
58
  const shouldDisplayMore = !checkboxLimit || checkboxLimit[prop] === LIMIT_MIN;
58
- return /*#__PURE__*/React.createElement(React.Fragment, null, label ? /*#__PURE__*/React.createElement("p", null, label) : '', /*#__PURE__*/React.createElement(Checkboxes, {
59
+ return /*#__PURE__*/React.createElement(React.Fragment, null, elementTitle && /*#__PURE__*/React.createElement("div", {
60
+ className: "heading heading--section"
61
+ }, elementTitle), label ? /*#__PURE__*/React.createElement("p", null, label) : '', /*#__PURE__*/React.createElement(Checkboxes, {
59
62
  className: "form-checkbox",
60
63
  options: multiple,
61
64
  onChange: ({
@@ -87,11 +90,13 @@ Checkbox.propTypes = {
87
90
  updateFilterValues: PropTypes.func.isRequired,
88
91
  shouldSearch: PropTypes.bool,
89
92
  label: PropTypes.string,
93
+ elementTitle: PropTypes.string,
90
94
  displayFilterCount: PropTypes.bool
91
95
  };
92
96
  Checkbox.defaultProps = {
93
97
  shouldSearch: false,
94
98
  label: '',
99
+ elementTitle: '',
95
100
  displayFilterCount: false
96
101
  };
97
102
  export default withTitle(Checkbox);
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.js","names":["React","useState","PropTypes","upperFirst","Checkboxes","FaChevronDown","FaChevronUp","withTitle","decodeValue","LIMIT_MIN","LIMIT_MAX","MORE","LESS","Checkbox","data","prop","updateFilterValues","filterValues","label","shouldSearch","displayFilterCount","checkboxLimit","setCheckboxLimit","handleCheckboxOptions","checkboxQueryParams","map","val","multiple","sortedValues","buckets","key","doc_count","count","optionLabel","filter","Boolean","sort","forEach","value","i","push","name","checked","includes","id","disabled","shouldDisplayMore","createElement","Fragment","className","options","onChange","eData","newCheckboxValues","length","role","onClick","propTypes","object","isRequired","string","func","bool","defaultProps"],"sources":["../../../../src/components/SearchFilter/components/Checkbox.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport upperFirst from 'lodash.upperfirst';\nimport { Checkboxes } from '@blaze-react/checkboxes';\nimport { FaChevronDown, FaChevronUp } from 'react-icons/fa';\nimport { withTitle } from '../../../HOC';\nimport { decodeValue } from '../helpers';\nimport { LIMIT_MIN, LIMIT_MAX, MORE, LESS } from '../constants';\n\nconst Checkbox = ({\n data,\n prop,\n updateFilterValues,\n filterValues,\n label,\n shouldSearch,\n displayFilterCount\n}) => {\n const [checkboxLimit, setCheckboxLimit] = useState(null);\n if (!data[prop]) return null;\n\n const handleCheckboxOptions = () => {\n if (checkboxLimit[prop] === LIMIT_MIN) {\n setCheckboxLimit({ [prop]: LIMIT_MAX });\n } else {\n setCheckboxLimit({ [prop]: LIMIT_MIN });\n }\n };\n\n if (!checkboxLimit) {\n setCheckboxLimit({ [prop]: LIMIT_MIN });\n }\n\n if (!checkboxLimit) return null;\n\n let checkboxQueryParams = [];\n\n if (filterValues && filterValues[prop]) {\n checkboxQueryParams =\n typeof filterValues[prop] === 'string'\n ? [decodeValue(filterValues[prop])]\n : filterValues[prop].map(val => decodeValue(val));\n }\n const multiple = [];\n\n const sortedValues = data[prop].buckets\n .map(({ key, doc_count: count }) => {\n const optionLabel = displayFilterCount ? `${key} (${count})` : key;\n return [key, optionLabel, !count];\n })\n .filter(Boolean)\n .sort();\n\n sortedValues.forEach(\n (value, i) =>\n i < checkboxLimit[prop] &&\n multiple.push({\n label: upperFirst(value[1]),\n value: value[0],\n name: prop,\n checked: checkboxQueryParams.includes(value[0]),\n id: value[0],\n disabled: value[2]\n })\n );\n\n const shouldDisplayMore = !checkboxLimit || checkboxLimit[prop] === LIMIT_MIN;\n\n return (\n <>\n {label ? <p>{label}</p> : ''}\n <Checkboxes\n className=\"form-checkbox\"\n options={multiple}\n onChange={({ data: eData }) => {\n const newCheckboxValues = eData\n .filter(({ checked }) => checked)\n .map(({ value }) => value);\n updateFilterValues({ [prop]: newCheckboxValues }, shouldSearch);\n }}\n />\n {data[prop].buckets.length > LIMIT_MIN && (\n <div role=\"button\" className=\"see-more\" onClick={handleCheckboxOptions}>\n {shouldDisplayMore ? (\n <>\n <i>\n <FaChevronDown className=\"inline-icon\" />\n </i>\n {` See ${MORE}`}\n </>\n ) : (\n <>\n <i>\n <FaChevronUp className=\"inline-icon\" />\n </i>\n {` See ${LESS}`}\n </>\n )}\n </div>\n )}\n </>\n );\n};\n\nCheckbox.propTypes = {\n data: PropTypes.object.isRequired,\n prop: PropTypes.string.isRequired,\n filterValues: PropTypes.object.isRequired,\n updateFilterValues: PropTypes.func.isRequired,\n shouldSearch: PropTypes.bool,\n label: PropTypes.string,\n displayFilterCount: PropTypes.bool\n};\n\nCheckbox.defaultProps = {\n shouldSearch: false,\n label: '',\n displayFilterCount: false\n};\n\nexport default withTitle(Checkbox);\n"],"mappings":"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"}
1
+ {"version":3,"file":"Checkbox.js","names":["React","useState","PropTypes","upperFirst","Checkboxes","FaChevronDown","FaChevronUp","withTitle","decodeValue","LIMIT_MIN","LIMIT_MAX","MORE","LESS","Checkbox","data","prop","updateFilterValues","filterValues","label","elementTitle","shouldSearch","displayFilterCount","checkboxLimit","setCheckboxLimit","handleCheckboxOptions","checkboxQueryParams","map","val","multiple","sortedValues","buckets","key","doc_count","count","optionLabel","filter","Boolean","sort","forEach","value","i","push","name","checked","includes","id","disabled","shouldDisplayMore","createElement","Fragment","className","options","onChange","eData","newCheckboxValues","length","role","onClick","propTypes","object","isRequired","string","func","bool","defaultProps"],"sources":["../../../../src/components/SearchFilter/components/Checkbox.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport upperFirst from 'lodash.upperfirst';\nimport { Checkboxes } from '@blaze-react/checkboxes';\nimport { FaChevronDown, FaChevronUp } from 'react-icons/fa';\nimport { withTitle } from '../../../HOC';\nimport { decodeValue } from '../helpers';\nimport { LIMIT_MIN, LIMIT_MAX, MORE, LESS } from '../constants';\n\nconst Checkbox = ({\n data,\n prop,\n updateFilterValues,\n filterValues,\n label,\n elementTitle,\n shouldSearch,\n displayFilterCount\n}) => {\n const [checkboxLimit, setCheckboxLimit] = useState(null);\n if (!data[prop]) return null;\n\n const handleCheckboxOptions = () => {\n if (checkboxLimit[prop] === LIMIT_MIN) {\n setCheckboxLimit({ [prop]: LIMIT_MAX });\n } else {\n setCheckboxLimit({ [prop]: LIMIT_MIN });\n }\n };\n\n if (!checkboxLimit) {\n setCheckboxLimit({ [prop]: LIMIT_MIN });\n }\n\n if (!checkboxLimit) return null;\n\n let checkboxQueryParams = [];\n\n if (filterValues && filterValues[prop]) {\n checkboxQueryParams =\n typeof filterValues[prop] === 'string'\n ? [decodeValue(filterValues[prop])]\n : filterValues[prop].map(val => decodeValue(val));\n }\n const multiple = [];\n\n const sortedValues = data[prop].buckets\n .map(({ key, doc_count: count }) => {\n const optionLabel = displayFilterCount ? `${key} (${count})` : key;\n return [key, optionLabel, !count];\n })\n .filter(Boolean)\n .sort();\n\n sortedValues.forEach(\n (value, i) =>\n i < checkboxLimit[prop] &&\n multiple.push({\n label: upperFirst(value[1]),\n value: value[0],\n name: prop,\n checked: checkboxQueryParams.includes(value[0]),\n id: value[0],\n disabled: value[2]\n })\n );\n\n const shouldDisplayMore = !checkboxLimit || checkboxLimit[prop] === LIMIT_MIN;\n\n return (\n <>\n {elementTitle && <div className=\"heading heading--section\">{elementTitle}</div>}\n {label ? <p>{label}</p> : ''}\n <Checkboxes\n className=\"form-checkbox\"\n options={multiple}\n onChange={({ data: eData }) => {\n const newCheckboxValues = eData\n .filter(({ checked }) => checked)\n .map(({ value }) => value);\n updateFilterValues({ [prop]: newCheckboxValues }, shouldSearch);\n }}\n />\n {data[prop].buckets.length > LIMIT_MIN && (\n <div role=\"button\" className=\"see-more\" onClick={handleCheckboxOptions}>\n {shouldDisplayMore ? (\n <>\n <i>\n <FaChevronDown className=\"inline-icon\" />\n </i>\n {` See ${MORE}`}\n </>\n ) : (\n <>\n <i>\n <FaChevronUp className=\"inline-icon\" />\n </i>\n {` See ${LESS}`}\n </>\n )}\n </div>\n )}\n </>\n );\n};\n\nCheckbox.propTypes = {\n data: PropTypes.object.isRequired,\n prop: PropTypes.string.isRequired,\n filterValues: PropTypes.object.isRequired,\n updateFilterValues: PropTypes.func.isRequired,\n shouldSearch: PropTypes.bool,\n label: PropTypes.string,\n elementTitle: PropTypes.string,\n displayFilterCount: PropTypes.bool\n};\n\nCheckbox.defaultProps = {\n shouldSearch: false,\n label: '',\n elementTitle: '',\n displayFilterCount: false\n};\n\nexport default withTitle(Checkbox);\n"],"mappings":"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"}