@ninetailed/experience.js-react 2.0.0-beta.24 → 2.0.0-beta.27
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
|
@@ -2645,15 +2645,39 @@ const Experience = _a => {
|
|
|
2645
2645
|
})));
|
|
2646
2646
|
};
|
|
2647
2647
|
|
|
2648
|
-
const
|
|
2649
|
-
|
|
2648
|
+
const ESRContext = /*#__PURE__*/React.createContext(undefined);
|
|
2649
|
+
const ESRProvider = ({
|
|
2650
|
+
experienceVariantsMap,
|
|
2651
|
+
children
|
|
2652
|
+
}) => {
|
|
2653
|
+
return /*#__PURE__*/React.createElement(ESRContext.Provider, {
|
|
2654
|
+
value: {
|
|
2655
|
+
experienceVariantsMap
|
|
2656
|
+
}
|
|
2657
|
+
}, children);
|
|
2658
|
+
};
|
|
2659
|
+
const useESR = () => {
|
|
2660
|
+
const context = React.useContext(ESRContext);
|
|
2661
|
+
|
|
2662
|
+
if (context === undefined) {
|
|
2663
|
+
throw new Error('The component using the the context must be a descendant of the ESRProvider');
|
|
2664
|
+
}
|
|
2665
|
+
|
|
2666
|
+
return {
|
|
2667
|
+
experienceVariantsMap: context.experienceVariantsMap
|
|
2668
|
+
};
|
|
2669
|
+
};
|
|
2670
|
+
const ESRLoadingComponent = _a => {
|
|
2650
2671
|
var {
|
|
2651
2672
|
experiences,
|
|
2652
2673
|
component: Component
|
|
2653
2674
|
} = _a,
|
|
2654
2675
|
baseline = __rest(_a, ["experiences", "component"]);
|
|
2655
2676
|
|
|
2656
|
-
const
|
|
2677
|
+
const {
|
|
2678
|
+
experienceVariantsMap
|
|
2679
|
+
} = useESR();
|
|
2680
|
+
const experience = experiences.find(experience => has$1(experienceVariantsMap, experience.id));
|
|
2657
2681
|
|
|
2658
2682
|
if (!experience) {
|
|
2659
2683
|
return /*#__PURE__*/React.createElement(Component, Object.assign({}, baseline));
|
|
@@ -2665,11 +2689,11 @@ _a => {
|
|
|
2665
2689
|
return /*#__PURE__*/React.createElement(Component, Object.assign({}, baseline));
|
|
2666
2690
|
}
|
|
2667
2691
|
|
|
2668
|
-
if (
|
|
2692
|
+
if (experienceVariantsMap[experience.id] === 0) {
|
|
2669
2693
|
return /*#__PURE__*/React.createElement(Component, Object.assign({}, baseline));
|
|
2670
2694
|
}
|
|
2671
2695
|
|
|
2672
|
-
const variant = component.variants[
|
|
2696
|
+
const variant = component.variants[experienceVariantsMap[experience.id] - 1];
|
|
2673
2697
|
|
|
2674
2698
|
if (!variant) {
|
|
2675
2699
|
return /*#__PURE__*/React.createElement(Component, Object.assign({}, baseline));
|
|
@@ -2678,4 +2702,4 @@ _a => {
|
|
|
2678
2702
|
return /*#__PURE__*/React.createElement(Component, Object.assign({}, variant));
|
|
2679
2703
|
};
|
|
2680
2704
|
|
|
2681
|
-
export { Experience, MergeTag, NinetailedProvider, Personalize, TrackHasSeenComponent,
|
|
2705
|
+
export { ESRLoadingComponent, ESRProvider, Experience, MergeTag, NinetailedProvider, Personalize, TrackHasSeenComponent, useNinetailed, usePersonalize, useProfile };
|
package/index.umd.js
CHANGED
|
@@ -2190,49 +2190,69 @@
|
|
|
2190
2190
|
})));
|
|
2191
2191
|
};
|
|
2192
2192
|
|
|
2193
|
-
var
|
|
2194
|
-
|
|
2195
|
-
|
|
2196
|
-
|
|
2197
|
-
|
|
2198
|
-
|
|
2199
|
-
|
|
2200
|
-
var experience = experiences.find(function (experience) {
|
|
2201
|
-
return has__default["default"](encodedExperienceVariantsMap, experience.id);
|
|
2202
|
-
});
|
|
2203
|
-
|
|
2204
|
-
if (!experience) {
|
|
2205
|
-
return /*#__PURE__*/React__default["default"].createElement(Component, __assign({}, baseline));
|
|
2193
|
+
var ESRContext = /*#__PURE__*/React__default["default"].createContext(undefined);
|
|
2194
|
+
var ESRProvider = function ESRProvider(_a) {
|
|
2195
|
+
var experienceVariantsMap = _a.experienceVariantsMap,
|
|
2196
|
+
children = _a.children;
|
|
2197
|
+
return /*#__PURE__*/React__default["default"].createElement(ESRContext.Provider, {
|
|
2198
|
+
value: {
|
|
2199
|
+
experienceVariantsMap: experienceVariantsMap
|
|
2206
2200
|
}
|
|
2201
|
+
}, children);
|
|
2202
|
+
};
|
|
2203
|
+
var useESR = function useESR() {
|
|
2204
|
+
var context = React__default["default"].useContext(ESRContext);
|
|
2207
2205
|
|
|
2208
|
-
|
|
2209
|
-
|
|
2210
|
-
|
|
2206
|
+
if (context === undefined) {
|
|
2207
|
+
throw new Error('The component using the the context must be a descendant of the ESRProvider');
|
|
2208
|
+
}
|
|
2211
2209
|
|
|
2212
|
-
|
|
2213
|
-
|
|
2214
|
-
|
|
2210
|
+
return {
|
|
2211
|
+
experienceVariantsMap: context.experienceVariantsMap
|
|
2212
|
+
};
|
|
2213
|
+
};
|
|
2214
|
+
var ESRLoadingComponent = function ESRLoadingComponent(_a) {
|
|
2215
|
+
var experiences = _a.experiences,
|
|
2216
|
+
Component = _a.component,
|
|
2217
|
+
baseline = __rest(_a, ["experiences", "component"]);
|
|
2215
2218
|
|
|
2216
|
-
|
|
2217
|
-
|
|
2218
|
-
|
|
2219
|
+
var experienceVariantsMap = useESR().experienceVariantsMap;
|
|
2220
|
+
var experience = experiences.find(function (experience) {
|
|
2221
|
+
return has__default["default"](experienceVariantsMap, experience.id);
|
|
2222
|
+
});
|
|
2219
2223
|
|
|
2220
|
-
|
|
2224
|
+
if (!experience) {
|
|
2225
|
+
return /*#__PURE__*/React__default["default"].createElement(Component, __assign({}, baseline));
|
|
2226
|
+
}
|
|
2221
2227
|
|
|
2222
|
-
|
|
2223
|
-
|
|
2224
|
-
|
|
2228
|
+
var component = experience.components.find(function (component) {
|
|
2229
|
+
return component.baseline.id === baseline.id;
|
|
2230
|
+
});
|
|
2225
2231
|
|
|
2226
|
-
|
|
2227
|
-
|
|
2232
|
+
if (!component) {
|
|
2233
|
+
return /*#__PURE__*/React__default["default"].createElement(Component, __assign({}, baseline));
|
|
2234
|
+
}
|
|
2235
|
+
|
|
2236
|
+
if (experienceVariantsMap[experience.id] === 0) {
|
|
2237
|
+
return /*#__PURE__*/React__default["default"].createElement(Component, __assign({}, baseline));
|
|
2238
|
+
}
|
|
2239
|
+
|
|
2240
|
+
var variant = component.variants[experienceVariantsMap[experience.id] - 1];
|
|
2241
|
+
|
|
2242
|
+
if (!variant) {
|
|
2243
|
+
return /*#__PURE__*/React__default["default"].createElement(Component, __assign({}, baseline));
|
|
2244
|
+
}
|
|
2245
|
+
|
|
2246
|
+
return /*#__PURE__*/React__default["default"].createElement(Component, __assign({}, variant));
|
|
2228
2247
|
};
|
|
2229
2248
|
|
|
2249
|
+
exports.ESRLoadingComponent = ESRLoadingComponent;
|
|
2250
|
+
exports.ESRProvider = ESRProvider;
|
|
2230
2251
|
exports.Experience = Experience;
|
|
2231
2252
|
exports.MergeTag = MergeTag;
|
|
2232
2253
|
exports.NinetailedProvider = NinetailedProvider;
|
|
2233
2254
|
exports.Personalize = Personalize;
|
|
2234
2255
|
exports.TrackHasSeenComponent = TrackHasSeenComponent;
|
|
2235
|
-
exports.getSSRLoadingComponent = getSSRLoadingComponent;
|
|
2236
2256
|
exports.useNinetailed = useNinetailed;
|
|
2237
2257
|
exports.usePersonalize = usePersonalize;
|
|
2238
2258
|
exports.useProfile = useProfile;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ExperienceLoadingComponent } from './Experience';
|
|
3
|
+
declare type ESRContextValue = {
|
|
4
|
+
experienceVariantsMap: Record<string, number>;
|
|
5
|
+
};
|
|
6
|
+
export declare const ESRContext: React.Context<ESRContextValue | undefined>;
|
|
7
|
+
declare type ESRProviderProps = {
|
|
8
|
+
experienceVariantsMap: Record<string, number>;
|
|
9
|
+
};
|
|
10
|
+
export declare const ESRProvider: React.FC<ESRProviderProps>;
|
|
11
|
+
export declare const useESR: () => {
|
|
12
|
+
experienceVariantsMap: Record<string, number>;
|
|
13
|
+
};
|
|
14
|
+
export declare const ESRLoadingComponent: ExperienceLoadingComponent;
|
|
15
|
+
export {};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { Experience } from './Experience';
|
|
2
2
|
export type { ExperienceProps, ExperienceBaseProps, ExperienceComponent, ExperienceLoadingComponent, } from './Experience';
|
|
3
|
-
export {
|
|
3
|
+
export { ESRProvider, ESRLoadingComponent } from './ESRLoadingComponent';
|
package/lib/index.d.ts
CHANGED
|
@@ -9,5 +9,5 @@ export { Personalize } from './Personalize';
|
|
|
9
9
|
export type { PersonalizedComponent } from './Personalize';
|
|
10
10
|
export { MergeTag } from './MergeTag';
|
|
11
11
|
export { TrackHasSeenComponent } from './TrackHasSeenComponent';
|
|
12
|
-
export { Experience,
|
|
12
|
+
export { Experience, ESRProvider, ESRLoadingComponent } from './Experience';
|
|
13
13
|
export type { ExperienceProps, ExperienceBaseProps, ExperienceComponent, ExperienceLoadingComponent, } from './Experience';
|
package/package.json
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ninetailed/experience.js-react",
|
|
3
|
-
"version": "2.0.0-beta.
|
|
3
|
+
"version": "2.0.0-beta.27",
|
|
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
|
-
"
|
|
10
|
+
"lodash": "^4.17.21",
|
|
11
|
+
"@ninetailed/experience.js": "2.0.0-beta.27",
|
|
11
12
|
"analytics": "^0.8.0",
|
|
12
|
-
"@ninetailed/experience.js-shared": "2.0.0-beta.
|
|
13
|
+
"@ninetailed/experience.js-shared": "2.0.0-beta.27",
|
|
13
14
|
"uuid": "^8.3.2",
|
|
14
15
|
"ts-toolbelt": "^9.6.0",
|
|
15
16
|
"locale-enum": "^1.1.1",
|
|
16
17
|
"i18n-iso-countries": "^7.3.0",
|
|
17
|
-
"lodash": "^4.17.21",
|
|
18
18
|
"loglevel": "^1.8.0",
|
|
19
19
|
"murmurhash-js": "^1.0.0",
|
|
20
20
|
"react-intersection-observer": "^8.33.1"
|