@folklore/ads 0.0.28 → 0.0.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs.js +35 -19
- package/dist/es.js +35 -19
- package/package.json +2 -2
package/dist/cjs.js
CHANGED
|
@@ -637,6 +637,7 @@ const propTypes$2 = {
|
|
|
637
637
|
refreshOnResize: PropTypes__default["default"].bool,
|
|
638
638
|
slots: adSlots,
|
|
639
639
|
viewports: adViewports,
|
|
640
|
+
disabled: PropTypes__default["default"].bool,
|
|
640
641
|
trackingDisabled: PropTypes__default["default"].bool
|
|
641
642
|
};
|
|
642
643
|
const defaultProps$2 = {
|
|
@@ -648,6 +649,7 @@ const defaultProps$2 = {
|
|
|
648
649
|
refreshOnResize: false,
|
|
649
650
|
slots: slots,
|
|
650
651
|
viewports: viewports,
|
|
652
|
+
disabled: false,
|
|
651
653
|
trackingDisabled: false
|
|
652
654
|
};
|
|
653
655
|
function AdsProvider(_ref) {
|
|
@@ -661,6 +663,7 @@ function AdsProvider(_ref) {
|
|
|
661
663
|
refreshOnResize,
|
|
662
664
|
viewports,
|
|
663
665
|
slots,
|
|
666
|
+
disabled,
|
|
664
667
|
trackingDisabled
|
|
665
668
|
} = _ref;
|
|
666
669
|
const [ready, setReady] = React.useState(false);
|
|
@@ -669,11 +672,14 @@ function AdsProvider(_ref) {
|
|
|
669
672
|
if (adsRef.current === null) {
|
|
670
673
|
adsRef.current = new AdsManager({
|
|
671
674
|
enableSingleRequest,
|
|
672
|
-
autoInit
|
|
675
|
+
autoInit,
|
|
676
|
+
disabled
|
|
673
677
|
});
|
|
678
|
+
} else {
|
|
679
|
+
adsRef.current.setDisabled(disabled);
|
|
674
680
|
}
|
|
675
681
|
return adsRef.current;
|
|
676
|
-
}, [enableSingleRequest, autoInit]);
|
|
682
|
+
}, [enableSingleRequest, autoInit, disabled]);
|
|
677
683
|
React.useEffect(() => {
|
|
678
684
|
let onReady = null;
|
|
679
685
|
if (!ads.isReady()) {
|
|
@@ -723,7 +729,7 @@ function AdsProvider(_ref) {
|
|
|
723
729
|
...slotsPath
|
|
724
730
|
},
|
|
725
731
|
trackingDisabled
|
|
726
|
-
}), [ready, ads, viewports, slots, slotsPath, defaultSlotPath, trackingDisabled]);
|
|
732
|
+
}), [ready, ads, viewports, slots, slotsPath, defaultSlotPath, trackingDisabled, disabled]);
|
|
727
733
|
return /*#__PURE__*/jsxRuntime.jsx(AdsContext.Provider, {
|
|
728
734
|
value: value,
|
|
729
735
|
children: children
|
|
@@ -996,13 +1002,23 @@ function Ad(_ref) {
|
|
|
996
1002
|
|
|
997
1003
|
// Targeting
|
|
998
1004
|
const contextTargeting = useAdsTargeting();
|
|
999
|
-
const
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1005
|
+
const {
|
|
1006
|
+
disabled: targetingDisabled = false
|
|
1007
|
+
} = contextTargeting || {};
|
|
1008
|
+
const finalDisabled = disabled || targetingDisabled;
|
|
1009
|
+
const allTargeting = React.useMemo(() => {
|
|
1010
|
+
const {
|
|
1011
|
+
disabled: removedDisabled,
|
|
1012
|
+
...otherTargeting
|
|
1013
|
+
} = contextTargeting || {};
|
|
1014
|
+
return {
|
|
1015
|
+
...(slotName !== null ? {
|
|
1016
|
+
slot: slotName
|
|
1017
|
+
} : null),
|
|
1018
|
+
...otherTargeting,
|
|
1019
|
+
...targeting
|
|
1020
|
+
};
|
|
1021
|
+
}, [contextTargeting, targeting, slotName]);
|
|
1006
1022
|
const finalAdTargeting = React.useMemo(() => {
|
|
1007
1023
|
const {
|
|
1008
1024
|
refreshAds = null,
|
|
@@ -1014,16 +1030,16 @@ function Ad(_ref) {
|
|
|
1014
1030
|
};
|
|
1015
1031
|
}, [allTargeting, refreshInterval]);
|
|
1016
1032
|
const lastRenderedSize = React.useRef(null);
|
|
1017
|
-
const wasDisabled = React.useRef(
|
|
1033
|
+
const wasDisabled = React.useRef(finalDisabled);
|
|
1018
1034
|
const onAdRender = React.useCallback(event => {
|
|
1019
1035
|
const {
|
|
1020
1036
|
isEmpty: newIsEmpty = true,
|
|
1021
1037
|
width: newWidth,
|
|
1022
1038
|
height: newHeight
|
|
1023
1039
|
} = event || {};
|
|
1024
|
-
if (
|
|
1040
|
+
if (finalDisabled) {
|
|
1025
1041
|
wasDisabled.current = true;
|
|
1026
|
-
} else if (!
|
|
1042
|
+
} else if (!finalDisabled && !newIsEmpty) {
|
|
1027
1043
|
wasDisabled.current = false;
|
|
1028
1044
|
}
|
|
1029
1045
|
lastRenderedSize.current = !newIsEmpty ? {
|
|
@@ -1033,7 +1049,7 @@ function Ad(_ref) {
|
|
|
1033
1049
|
if (onRender !== null) {
|
|
1034
1050
|
onRender(event);
|
|
1035
1051
|
}
|
|
1036
|
-
}, [onRender, shouldKeepSize,
|
|
1052
|
+
}, [onRender, shouldKeepSize, finalDisabled]);
|
|
1037
1053
|
|
|
1038
1054
|
// useEffect(() => {
|
|
1039
1055
|
// if (!disabled) {
|
|
@@ -1064,7 +1080,7 @@ function Ad(_ref) {
|
|
|
1064
1080
|
refreshInterval: finalAdTargeting.refreshInterval,
|
|
1065
1081
|
alwaysRender,
|
|
1066
1082
|
onRender: onAdRender,
|
|
1067
|
-
disabled,
|
|
1083
|
+
disabled: finalDisabled,
|
|
1068
1084
|
trackingDisabled
|
|
1069
1085
|
});
|
|
1070
1086
|
if (slotRef !== null && isFunction__default["default"](slotRef)) {
|
|
@@ -1073,13 +1089,13 @@ function Ad(_ref) {
|
|
|
1073
1089
|
// eslint-disable-next-line no-param-reassign
|
|
1074
1090
|
slotRef.current = slotObject;
|
|
1075
1091
|
}
|
|
1076
|
-
if (
|
|
1092
|
+
if (finalDisabled) {
|
|
1077
1093
|
wasDisabled.current = true;
|
|
1078
|
-
} else if (!
|
|
1094
|
+
} else if (!finalDisabled && isRendered) {
|
|
1079
1095
|
wasDisabled.current = false;
|
|
1080
1096
|
}
|
|
1081
1097
|
const waitingNextRender = wasDisabled.current && !isRendered;
|
|
1082
|
-
const keepSize = shouldKeepSize && (
|
|
1098
|
+
const keepSize = shouldKeepSize && (finalDisabled || waitingNextRender) && lastRenderedSize.current !== null;
|
|
1083
1099
|
if (id === null && !keepSize) {
|
|
1084
1100
|
return null;
|
|
1085
1101
|
}
|
|
@@ -1089,7 +1105,7 @@ function Ad(_ref) {
|
|
|
1089
1105
|
width,
|
|
1090
1106
|
height
|
|
1091
1107
|
};
|
|
1092
|
-
} else if (shouldKeepSize && (
|
|
1108
|
+
} else if (shouldKeepSize && (finalDisabled || waitingNextRender)) {
|
|
1093
1109
|
adStyle = lastRenderedSize.current;
|
|
1094
1110
|
} else if (!withoutMinimumSize) {
|
|
1095
1111
|
adStyle = minimumSize;
|
package/dist/es.js
CHANGED
|
@@ -619,6 +619,7 @@ const propTypes$2 = {
|
|
|
619
619
|
refreshOnResize: PropTypes.bool,
|
|
620
620
|
slots: adSlots,
|
|
621
621
|
viewports: adViewports,
|
|
622
|
+
disabled: PropTypes.bool,
|
|
622
623
|
trackingDisabled: PropTypes.bool
|
|
623
624
|
};
|
|
624
625
|
const defaultProps$2 = {
|
|
@@ -630,6 +631,7 @@ const defaultProps$2 = {
|
|
|
630
631
|
refreshOnResize: false,
|
|
631
632
|
slots: slots,
|
|
632
633
|
viewports: viewports,
|
|
634
|
+
disabled: false,
|
|
633
635
|
trackingDisabled: false
|
|
634
636
|
};
|
|
635
637
|
function AdsProvider(_ref) {
|
|
@@ -643,6 +645,7 @@ function AdsProvider(_ref) {
|
|
|
643
645
|
refreshOnResize,
|
|
644
646
|
viewports,
|
|
645
647
|
slots,
|
|
648
|
+
disabled,
|
|
646
649
|
trackingDisabled
|
|
647
650
|
} = _ref;
|
|
648
651
|
const [ready, setReady] = useState(false);
|
|
@@ -651,11 +654,14 @@ function AdsProvider(_ref) {
|
|
|
651
654
|
if (adsRef.current === null) {
|
|
652
655
|
adsRef.current = new AdsManager({
|
|
653
656
|
enableSingleRequest,
|
|
654
|
-
autoInit
|
|
657
|
+
autoInit,
|
|
658
|
+
disabled
|
|
655
659
|
});
|
|
660
|
+
} else {
|
|
661
|
+
adsRef.current.setDisabled(disabled);
|
|
656
662
|
}
|
|
657
663
|
return adsRef.current;
|
|
658
|
-
}, [enableSingleRequest, autoInit]);
|
|
664
|
+
}, [enableSingleRequest, autoInit, disabled]);
|
|
659
665
|
useEffect(() => {
|
|
660
666
|
let onReady = null;
|
|
661
667
|
if (!ads.isReady()) {
|
|
@@ -705,7 +711,7 @@ function AdsProvider(_ref) {
|
|
|
705
711
|
...slotsPath
|
|
706
712
|
},
|
|
707
713
|
trackingDisabled
|
|
708
|
-
}), [ready, ads, viewports, slots, slotsPath, defaultSlotPath, trackingDisabled]);
|
|
714
|
+
}), [ready, ads, viewports, slots, slotsPath, defaultSlotPath, trackingDisabled, disabled]);
|
|
709
715
|
return /*#__PURE__*/jsx(AdsContext.Provider, {
|
|
710
716
|
value: value,
|
|
711
717
|
children: children
|
|
@@ -978,13 +984,23 @@ function Ad(_ref) {
|
|
|
978
984
|
|
|
979
985
|
// Targeting
|
|
980
986
|
const contextTargeting = useAdsTargeting();
|
|
981
|
-
const
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
987
|
+
const {
|
|
988
|
+
disabled: targetingDisabled = false
|
|
989
|
+
} = contextTargeting || {};
|
|
990
|
+
const finalDisabled = disabled || targetingDisabled;
|
|
991
|
+
const allTargeting = useMemo(() => {
|
|
992
|
+
const {
|
|
993
|
+
disabled: removedDisabled,
|
|
994
|
+
...otherTargeting
|
|
995
|
+
} = contextTargeting || {};
|
|
996
|
+
return {
|
|
997
|
+
...(slotName !== null ? {
|
|
998
|
+
slot: slotName
|
|
999
|
+
} : null),
|
|
1000
|
+
...otherTargeting,
|
|
1001
|
+
...targeting
|
|
1002
|
+
};
|
|
1003
|
+
}, [contextTargeting, targeting, slotName]);
|
|
988
1004
|
const finalAdTargeting = useMemo(() => {
|
|
989
1005
|
const {
|
|
990
1006
|
refreshAds = null,
|
|
@@ -996,16 +1012,16 @@ function Ad(_ref) {
|
|
|
996
1012
|
};
|
|
997
1013
|
}, [allTargeting, refreshInterval]);
|
|
998
1014
|
const lastRenderedSize = useRef(null);
|
|
999
|
-
const wasDisabled = useRef(
|
|
1015
|
+
const wasDisabled = useRef(finalDisabled);
|
|
1000
1016
|
const onAdRender = useCallback(event => {
|
|
1001
1017
|
const {
|
|
1002
1018
|
isEmpty: newIsEmpty = true,
|
|
1003
1019
|
width: newWidth,
|
|
1004
1020
|
height: newHeight
|
|
1005
1021
|
} = event || {};
|
|
1006
|
-
if (
|
|
1022
|
+
if (finalDisabled) {
|
|
1007
1023
|
wasDisabled.current = true;
|
|
1008
|
-
} else if (!
|
|
1024
|
+
} else if (!finalDisabled && !newIsEmpty) {
|
|
1009
1025
|
wasDisabled.current = false;
|
|
1010
1026
|
}
|
|
1011
1027
|
lastRenderedSize.current = !newIsEmpty ? {
|
|
@@ -1015,7 +1031,7 @@ function Ad(_ref) {
|
|
|
1015
1031
|
if (onRender !== null) {
|
|
1016
1032
|
onRender(event);
|
|
1017
1033
|
}
|
|
1018
|
-
}, [onRender, shouldKeepSize,
|
|
1034
|
+
}, [onRender, shouldKeepSize, finalDisabled]);
|
|
1019
1035
|
|
|
1020
1036
|
// useEffect(() => {
|
|
1021
1037
|
// if (!disabled) {
|
|
@@ -1046,7 +1062,7 @@ function Ad(_ref) {
|
|
|
1046
1062
|
refreshInterval: finalAdTargeting.refreshInterval,
|
|
1047
1063
|
alwaysRender,
|
|
1048
1064
|
onRender: onAdRender,
|
|
1049
|
-
disabled,
|
|
1065
|
+
disabled: finalDisabled,
|
|
1050
1066
|
trackingDisabled
|
|
1051
1067
|
});
|
|
1052
1068
|
if (slotRef !== null && isFunction(slotRef)) {
|
|
@@ -1055,13 +1071,13 @@ function Ad(_ref) {
|
|
|
1055
1071
|
// eslint-disable-next-line no-param-reassign
|
|
1056
1072
|
slotRef.current = slotObject;
|
|
1057
1073
|
}
|
|
1058
|
-
if (
|
|
1074
|
+
if (finalDisabled) {
|
|
1059
1075
|
wasDisabled.current = true;
|
|
1060
|
-
} else if (!
|
|
1076
|
+
} else if (!finalDisabled && isRendered) {
|
|
1061
1077
|
wasDisabled.current = false;
|
|
1062
1078
|
}
|
|
1063
1079
|
const waitingNextRender = wasDisabled.current && !isRendered;
|
|
1064
|
-
const keepSize = shouldKeepSize && (
|
|
1080
|
+
const keepSize = shouldKeepSize && (finalDisabled || waitingNextRender) && lastRenderedSize.current !== null;
|
|
1065
1081
|
if (id === null && !keepSize) {
|
|
1066
1082
|
return null;
|
|
1067
1083
|
}
|
|
@@ -1071,7 +1087,7 @@ function Ad(_ref) {
|
|
|
1071
1087
|
width,
|
|
1072
1088
|
height
|
|
1073
1089
|
};
|
|
1074
|
-
} else if (shouldKeepSize && (
|
|
1090
|
+
} else if (shouldKeepSize && (finalDisabled || waitingNextRender)) {
|
|
1075
1091
|
adStyle = lastRenderedSize.current;
|
|
1076
1092
|
} else if (!withoutMinimumSize) {
|
|
1077
1093
|
adStyle = minimumSize;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@folklore/ads",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.30",
|
|
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": "
|
|
53
|
+
"gitHead": "af57f5d2a4d695deb8f676557d66e0cc24540e49",
|
|
54
54
|
"dependencies": {
|
|
55
55
|
"@folklore/hooks": "^0.0.43",
|
|
56
56
|
"@folklore/tracking": "^0.0.21",
|