@folklore/ads 0.0.102 → 0.0.103

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 +11 -1
  2. package/dist/es.js +11 -2
  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();
@@ -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();
@@ -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.103",
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": "8c2880c461da5257a2b5589cf0bdbca632ebe78b",
54
54
  "dependencies": {
55
55
  "@folklore/hooks": "^0.0.72",
56
56
  "@folklore/tracking": "^0.0.29",