@ninetailed/experience.js-react 1.0.1-beta.9 → 1.2.1

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 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 usePersonalize = (baseline, variants, options = {
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(TrackHasSeen, {
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 usePersonalize = function usePersonalize(baseline, variants, options) {
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(TrackHasSeen, {
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 });
@@ -9,5 +9,6 @@ export declare type NinetailedProviderProps = {
9
9
  plugins?: (AnalyticsPlugin | AnalyticsPlugin[])[];
10
10
  profile?: Profile;
11
11
  locale?: Locale;
12
+ requestTimeout?: number;
12
13
  };
13
14
  export declare const NinetailedProvider: React.FC<NinetailedProviderProps>;
@@ -1,11 +1,6 @@
1
1
  import React from 'react';
2
- export declare type Variant<P = unknown> = {
3
- id: string;
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
- export declare const Personalize: <P extends Object>({ component: Component, loadingComponent: LoadingComponent, variants, holdout, ...baseline }: PersonalizeProps<P>) => JSX.Element;
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 {};
@@ -0,0 +1,6 @@
1
+ export declare type Variant<P = unknown> = {
2
+ id: string;
3
+ audience: {
4
+ id: string;
5
+ };
6
+ } & P;
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';
@@ -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>(baseline: T, variants: Variant<T>[], options?: Options) => {
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.1-beta.9",
3
+ "version": "1.2.1",
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.1-beta.9",
10
+ "@ninetailed/experience.js-shared": "1.2.1",
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.1-beta.9",
16
+ "@ninetailed/experience.js": "1.2.1",
17
17
  "analytics": "^0.8.0",
18
18
  "react-intersection-observer": "^8.33.1"
19
19
  },