@folklore/ads 0.0.102 → 0.0.104

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 (3) hide show
  1. package/dist/cjs.js +12 -2
  2. package/dist/es.js +12 -3
  3. package/package.json +2 -2
package/dist/cjs.js CHANGED
@@ -40,6 +40,15 @@ var propTypes$4 = /*#__PURE__*/Object.freeze({
40
40
  adViewports: adViewports
41
41
  });
42
42
 
43
+ function normalizeAdSizes(size) {
44
+ if (size === null) {
45
+ return [];
46
+ }
47
+ if (isArray(size) && size.length > 0 && isArray(size[0])) {
48
+ return size;
49
+ }
50
+ return [size];
51
+ }
43
52
  function getAdSizes(sizes) {
44
53
  return uniqBy(sizes, size => isArray(size) ? size.join('x') : size);
45
54
  }
@@ -1210,7 +1219,7 @@ function Ad(_ref) {
1210
1219
  // Size
1211
1220
  const size = providedSize || slotSize;
1212
1221
  const sizeMapping = providedSizeMapping || slotSizeMapping;
1213
- const minimumSize = React.useMemo(() => getMinimumAdSize(sizeMapping !== null ? sizeMapping.reduce((allSizes, sizeMap) => [...allSizes, ...sizeMap[1]], [size]) : [size]), [sizeMapping, size]);
1222
+ const minimumSize = React.useMemo(() => getMinimumAdSize([...(getSizeFromSizeMapping(sizeMapping) || []), ...normalizeAdSizes(size)]), [sizeMapping, size]);
1214
1223
 
1215
1224
  // Targeting
1216
1225
  const contextTargeting = useAdsTargeting();
@@ -1239,7 +1248,7 @@ function Ad(_ref) {
1239
1248
  viewport: providedViewport || contextViewport || targetingViewport,
1240
1249
  targeting: otherProps || {}
1241
1250
  };
1242
- }, [contextTargeting, providedTargeting, slotName, providedRefreshInterval]);
1251
+ }, [slotName, contextTargeting, providedTargeting, providedRefreshInterval, providedDisabled, providedViewport, contextViewport]);
1243
1252
  const lastRenderedSize = React.useRef(null);
1244
1253
  const wasDisabled = React.useRef(disabled);
1245
1254
  React.useEffect(() => {}, []);
@@ -1388,6 +1397,7 @@ exports.getMinimumAdSize = getMinimumAdSize;
1388
1397
  exports.getSizeFromSizeMapping = getSizeFromSizeMapping;
1389
1398
  exports.getSizeMappingFromSlot = getSizeMappingFromSlot;
1390
1399
  exports.getSortedViewports = getSortedViewports;
1400
+ exports.normalizeAdSizes = normalizeAdSizes;
1391
1401
  exports.sizeFitsInViewport = sizeFitsInViewport;
1392
1402
  exports.slots = slots;
1393
1403
  exports.useAd = useAd;
package/dist/es.js CHANGED
@@ -38,6 +38,15 @@ var propTypes$4 = /*#__PURE__*/Object.freeze({
38
38
  adViewports: adViewports
39
39
  });
40
40
 
41
+ function normalizeAdSizes(size) {
42
+ if (size === null) {
43
+ return [];
44
+ }
45
+ if (isArray(size) && size.length > 0 && isArray(size[0])) {
46
+ return size;
47
+ }
48
+ return [size];
49
+ }
41
50
  function getAdSizes(sizes) {
42
51
  return uniqBy(sizes, size => isArray(size) ? size.join('x') : size);
43
52
  }
@@ -1208,7 +1217,7 @@ function Ad(_ref) {
1208
1217
  // Size
1209
1218
  const size = providedSize || slotSize;
1210
1219
  const sizeMapping = providedSizeMapping || slotSizeMapping;
1211
- const minimumSize = useMemo(() => getMinimumAdSize(sizeMapping !== null ? sizeMapping.reduce((allSizes, sizeMap) => [...allSizes, ...sizeMap[1]], [size]) : [size]), [sizeMapping, size]);
1220
+ const minimumSize = useMemo(() => getMinimumAdSize([...(getSizeFromSizeMapping(sizeMapping) || []), ...normalizeAdSizes(size)]), [sizeMapping, size]);
1212
1221
 
1213
1222
  // Targeting
1214
1223
  const contextTargeting = useAdsTargeting();
@@ -1237,7 +1246,7 @@ function Ad(_ref) {
1237
1246
  viewport: providedViewport || contextViewport || targetingViewport,
1238
1247
  targeting: otherProps || {}
1239
1248
  };
1240
- }, [contextTargeting, providedTargeting, slotName, providedRefreshInterval]);
1249
+ }, [slotName, contextTargeting, providedTargeting, providedRefreshInterval, providedDisabled, providedViewport, contextViewport]);
1241
1250
  const lastRenderedSize = useRef(null);
1242
1251
  const wasDisabled = useRef(disabled);
1243
1252
  useEffect(() => {}, []);
@@ -1372,4 +1381,4 @@ function Ad(_ref) {
1372
1381
  }
1373
1382
  Ad.propTypes = propTypes;
1374
1383
 
1375
- export { Ad, AdSlot, AdsManager, AdsProvider, AdsTargetingProvider, propTypes$4 as PropTypes, RichAd, buildSizeMappingFromSizes, buildSizeMappingFromViewports, getAdSizes, getMinimumAdSize, getSizeFromSizeMapping, getSizeMappingFromSlot, getSortedViewports, sizeFitsInViewport, slots, useAd, useAdsContext, useAdsTargeting, useAdsTracking, useRichAd, viewports };
1384
+ export { Ad, AdSlot, AdsManager, AdsProvider, AdsTargetingProvider, propTypes$4 as PropTypes, RichAd, buildSizeMappingFromSizes, buildSizeMappingFromViewports, getAdSizes, getMinimumAdSize, getSizeFromSizeMapping, getSizeMappingFromSlot, getSortedViewports, normalizeAdSizes, sizeFitsInViewport, slots, useAd, useAdsContext, useAdsTargeting, useAdsTracking, useRichAd, viewports };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@folklore/ads",
3
- "version": "0.0.102",
3
+ "version": "0.0.104",
4
4
  "description": "Ads library",
5
5
  "keywords": [
6
6
  "javascript",
@@ -50,7 +50,7 @@
50
50
  "publishConfig": {
51
51
  "access": "public"
52
52
  },
53
- "gitHead": "88bd18e811d5872888c552e78c10b169d5ab0b3b",
53
+ "gitHead": "2d8bb885c7367b26f1b384e30ef8fe9c2ccfee08",
54
54
  "dependencies": {
55
55
  "@folklore/hooks": "^0.0.72",
56
56
  "@folklore/tracking": "^0.0.29",