@ninetailed/experience.js-react 1.0.1-beta.8 → 1.2.0
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/index.esm.js +13 -11
- package/index.umd.js +18 -14
- package/lib/NinetailedProvider.d.ts +1 -0
- package/lib/Personalize.d.ts +7 -8
- package/lib/TrackHasSeenComponent.d.ts +11 -0
- package/lib/Variant.d.ts +6 -0
- package/lib/index.d.ts +3 -1
- package/lib/usePersonalize.d.ts +3 -1
- package/package.json +3 -3
package/index.esm.js
CHANGED
|
@@ -14,6 +14,7 @@ const NinetailedProvider = ({
|
|
|
14
14
|
url,
|
|
15
15
|
profile,
|
|
16
16
|
locale,
|
|
17
|
+
requestTimeout,
|
|
17
18
|
plugins: _plugins = []
|
|
18
19
|
}) => {
|
|
19
20
|
const ninetailed = useMemo(() => new Ninetailed({
|
|
@@ -24,7 +25,8 @@ const NinetailedProvider = ({
|
|
|
24
25
|
url,
|
|
25
26
|
plugins: _plugins,
|
|
26
27
|
profile,
|
|
27
|
-
locale
|
|
28
|
+
locale,
|
|
29
|
+
requestTimeout
|
|
28
30
|
}), []);
|
|
29
31
|
return /*#__PURE__*/React.createElement(NinetailedContext.Provider, {
|
|
30
32
|
value: ninetailed
|
|
@@ -1530,6 +1532,13 @@ const useProfile = () => {
|
|
|
1530
1532
|
return profileState;
|
|
1531
1533
|
};
|
|
1532
1534
|
|
|
1535
|
+
const usePersonalize = (baseline, variants, options = {
|
|
1536
|
+
holdout: -1
|
|
1537
|
+
}) => {
|
|
1538
|
+
const profile = useProfile();
|
|
1539
|
+
return selectVariant(baseline, variants, profile, options);
|
|
1540
|
+
};
|
|
1541
|
+
|
|
1533
1542
|
var DESCRIPTORS = descriptors;
|
|
1534
1543
|
var uncurryThis$5 = functionUncurryThis;
|
|
1535
1544
|
var call$4 = functionCall;
|
|
@@ -1624,14 +1633,7 @@ function __rest(s, e) {
|
|
|
1624
1633
|
return t;
|
|
1625
1634
|
}
|
|
1626
1635
|
|
|
1627
|
-
const
|
|
1628
|
-
holdout: -1
|
|
1629
|
-
}) => {
|
|
1630
|
-
const profile = useProfile();
|
|
1631
|
-
return selectVariant(baseline, variants, profile, options);
|
|
1632
|
-
};
|
|
1633
|
-
|
|
1634
|
-
const TrackHasSeen = ({
|
|
1636
|
+
const TrackHasSeenComponent = ({
|
|
1635
1637
|
children,
|
|
1636
1638
|
variant,
|
|
1637
1639
|
audience,
|
|
@@ -1704,7 +1706,7 @@ const Personalize = _a => {
|
|
|
1704
1706
|
})));
|
|
1705
1707
|
}
|
|
1706
1708
|
|
|
1707
|
-
return /*#__PURE__*/React.createElement(
|
|
1709
|
+
return /*#__PURE__*/React.createElement(TrackHasSeenComponent, {
|
|
1708
1710
|
variant: variant,
|
|
1709
1711
|
audience: audience,
|
|
1710
1712
|
isPersonalized: isPersonalized
|
|
@@ -2313,4 +2315,4 @@ const MergeTag = ({
|
|
|
2313
2315
|
return /*#__PURE__*/React.createElement(React.Fragment, null, value);
|
|
2314
2316
|
};
|
|
2315
2317
|
|
|
2316
|
-
export { MergeTag, NinetailedProvider, Personalize, useNinetailed, useProfile };
|
|
2318
|
+
export { MergeTag, NinetailedProvider, Personalize, TrackHasSeenComponent, useNinetailed, usePersonalize, useProfile };
|
package/index.umd.js
CHANGED
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
url = _a.url,
|
|
20
20
|
profile = _a.profile,
|
|
21
21
|
locale = _a.locale,
|
|
22
|
+
requestTimeout = _a.requestTimeout,
|
|
22
23
|
_b = _a.plugins,
|
|
23
24
|
plugins = _b === void 0 ? [] : _b;
|
|
24
25
|
var ninetailed = React.useMemo(function () {
|
|
@@ -30,7 +31,8 @@
|
|
|
30
31
|
url: url,
|
|
31
32
|
plugins: plugins,
|
|
32
33
|
profile: profile,
|
|
33
|
-
locale: locale
|
|
34
|
+
locale: locale,
|
|
35
|
+
requestTimeout: requestTimeout
|
|
34
36
|
});
|
|
35
37
|
}, []);
|
|
36
38
|
return /*#__PURE__*/React__default["default"].createElement(NinetailedContext.Provider, {
|
|
@@ -63,6 +65,17 @@
|
|
|
63
65
|
return profileState;
|
|
64
66
|
};
|
|
65
67
|
|
|
68
|
+
var usePersonalize = function usePersonalize(baseline, variants, options) {
|
|
69
|
+
if (options === void 0) {
|
|
70
|
+
options = {
|
|
71
|
+
holdout: -1
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
var profile = useProfile();
|
|
76
|
+
return experience_js.selectVariant(baseline, variants, profile, options);
|
|
77
|
+
};
|
|
78
|
+
|
|
66
79
|
/*! *****************************************************************************
|
|
67
80
|
Copyright (c) Microsoft Corporation.
|
|
68
81
|
|
|
@@ -101,18 +114,7 @@
|
|
|
101
114
|
return t;
|
|
102
115
|
}
|
|
103
116
|
|
|
104
|
-
var
|
|
105
|
-
if (options === void 0) {
|
|
106
|
-
options = {
|
|
107
|
-
holdout: -1
|
|
108
|
-
};
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
var profile = useProfile();
|
|
112
|
-
return experience_js.selectVariant(baseline, variants, profile, options);
|
|
113
|
-
};
|
|
114
|
-
|
|
115
|
-
var TrackHasSeen = function TrackHasSeen(_a) {
|
|
117
|
+
var TrackHasSeenComponent = function TrackHasSeenComponent(_a) {
|
|
116
118
|
var children = _a.children,
|
|
117
119
|
variant = _a.variant,
|
|
118
120
|
audience = _a.audience,
|
|
@@ -185,7 +187,7 @@
|
|
|
185
187
|
})));
|
|
186
188
|
}
|
|
187
189
|
|
|
188
|
-
return /*#__PURE__*/React__default["default"].createElement(
|
|
190
|
+
return /*#__PURE__*/React__default["default"].createElement(TrackHasSeenComponent, {
|
|
189
191
|
variant: variant,
|
|
190
192
|
audience: audience,
|
|
191
193
|
isPersonalized: isPersonalized
|
|
@@ -1866,7 +1868,9 @@
|
|
|
1866
1868
|
exports.MergeTag = MergeTag;
|
|
1867
1869
|
exports.NinetailedProvider = NinetailedProvider;
|
|
1868
1870
|
exports.Personalize = Personalize;
|
|
1871
|
+
exports.TrackHasSeenComponent = TrackHasSeenComponent;
|
|
1869
1872
|
exports.useNinetailed = useNinetailed;
|
|
1873
|
+
exports.usePersonalize = usePersonalize;
|
|
1870
1874
|
exports.useProfile = useProfile;
|
|
1871
1875
|
|
|
1872
1876
|
Object.defineProperty(exports, '__esModule', { value: true });
|
package/lib/Personalize.d.ts
CHANGED
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
audience: {
|
|
5
|
-
id: string;
|
|
6
|
-
};
|
|
7
|
-
} & P;
|
|
8
|
-
export declare type PersonalizedComponent<P> = React.ComponentType<P & {
|
|
2
|
+
import { Variant } from './Variant';
|
|
3
|
+
export declare type PersonalizedComponent<P> = React.ComponentType<Omit<P, 'id'> & {
|
|
9
4
|
ninetailed?: {
|
|
10
5
|
isPersonalized: boolean;
|
|
11
6
|
audience: {
|
|
@@ -21,5 +16,9 @@ declare type PersonalizeProps<P> = P & {
|
|
|
21
16
|
loadingComponent?: React.ComponentType;
|
|
22
17
|
holdout?: number;
|
|
23
18
|
};
|
|
24
|
-
|
|
19
|
+
declare type Baseline = {
|
|
20
|
+
id: string;
|
|
21
|
+
[x: string | number | symbol]: unknown;
|
|
22
|
+
};
|
|
23
|
+
export declare const Personalize: <P extends Baseline>({ component: Component, loadingComponent: LoadingComponent, variants, holdout, ...baseline }: PersonalizeProps<P>) => JSX.Element;
|
|
25
24
|
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Variant } from './Variant';
|
|
3
|
+
declare type TrackHasSeenComponentProps = {
|
|
4
|
+
variant: Variant;
|
|
5
|
+
audience: {
|
|
6
|
+
id: string;
|
|
7
|
+
};
|
|
8
|
+
isPersonalized: boolean;
|
|
9
|
+
};
|
|
10
|
+
export declare const TrackHasSeenComponent: React.FC<TrackHasSeenComponentProps>;
|
|
11
|
+
export {};
|
package/lib/Variant.d.ts
ADDED
package/lib/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
export { Profile } from '@ninetailed/experience.js-shared';
|
|
1
|
+
export { Profile, Variant } from '@ninetailed/experience.js-shared';
|
|
2
2
|
export { NinetailedProvider, NinetailedProviderProps, } from './NinetailedProvider';
|
|
3
3
|
export { useNinetailed } from './useNinetailed';
|
|
4
4
|
export { useProfile } from './useProfile';
|
|
5
|
+
export { usePersonalize } from './usePersonalize';
|
|
5
6
|
export { Personalize, PersonalizedComponent } from './Personalize';
|
|
6
7
|
export { MergeTag } from './MergeTag';
|
|
8
|
+
export { TrackHasSeenComponent } from './TrackHasSeenComponent';
|
package/lib/usePersonalize.d.ts
CHANGED
|
@@ -2,7 +2,9 @@ import { Variant } from '@ninetailed/experience.js-shared';
|
|
|
2
2
|
declare type Options = {
|
|
3
3
|
holdout?: number;
|
|
4
4
|
};
|
|
5
|
-
export declare const usePersonalize: <T
|
|
5
|
+
export declare const usePersonalize: <T extends {
|
|
6
|
+
id: string;
|
|
7
|
+
}>(baseline: T, variants: Variant<T>[], options?: Options) => {
|
|
6
8
|
loading: true;
|
|
7
9
|
variant: Variant<T>;
|
|
8
10
|
audience: {
|
package/package.json
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ninetailed/experience.js-react",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"react": ">=16.8.0"
|
|
6
6
|
},
|
|
7
7
|
"dependencies": {
|
|
8
8
|
"@analytics/google-analytics": "0.5.3",
|
|
9
9
|
"react-visibility-sensor": "5.1.1",
|
|
10
|
-
"@ninetailed/experience.js-shared": "1.0
|
|
10
|
+
"@ninetailed/experience.js-shared": "1.2.0",
|
|
11
11
|
"uuid": "^8.3.2",
|
|
12
12
|
"ts-toolbelt": "^9.6.0",
|
|
13
13
|
"locale-enum": "^1.1.1",
|
|
14
14
|
"i18n-iso-countries": "^7.3.0",
|
|
15
15
|
"lodash": "^4.17.21",
|
|
16
|
-
"@ninetailed/experience.js": "1.0
|
|
16
|
+
"@ninetailed/experience.js": "1.2.0",
|
|
17
17
|
"analytics": "^0.8.0",
|
|
18
18
|
"react-intersection-observer": "^8.33.1"
|
|
19
19
|
},
|