@ninetailed/experience.js-react 2.0.1 → 2.0.2
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 +49 -22
- package/index.umd.js +60 -29
- package/lib/Experience/Experience.d.ts +5 -0
- package/lib/Experience/index.d.ts +2 -2
- package/lib/index.d.ts +1 -1
- package/package.json +3 -3
package/index.esm.js
CHANGED
|
@@ -2563,11 +2563,54 @@ const useJoinExperiment = ({
|
|
|
2563
2563
|
}, [experiences]);
|
|
2564
2564
|
};
|
|
2565
2565
|
|
|
2566
|
+
const DefaultExperienceLoadingComponent = _a => {
|
|
2567
|
+
var {
|
|
2568
|
+
component: Component,
|
|
2569
|
+
experiences,
|
|
2570
|
+
unhideAfterMs = 5000
|
|
2571
|
+
} = _a,
|
|
2572
|
+
baseline = __rest(_a, ["component", "experiences", "unhideAfterMs"]);
|
|
2573
|
+
|
|
2574
|
+
const [hidden, setHidden] = useState(true);
|
|
2575
|
+
useEffect(() => {
|
|
2576
|
+
const timer = setTimeout(() => {
|
|
2577
|
+
setHidden(false);
|
|
2578
|
+
}, unhideAfterMs);
|
|
2579
|
+
return () => {
|
|
2580
|
+
clearTimeout(timer);
|
|
2581
|
+
};
|
|
2582
|
+
}, []);
|
|
2583
|
+
|
|
2584
|
+
if (hidden) {
|
|
2585
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
2586
|
+
key: "hide",
|
|
2587
|
+
style: {
|
|
2588
|
+
opacity: 0
|
|
2589
|
+
}
|
|
2590
|
+
}, /*#__PURE__*/React.createElement(Component, Object.assign({}, baseline, {
|
|
2591
|
+
ninetailed: {
|
|
2592
|
+
isPersonalized: false,
|
|
2593
|
+
audience: {
|
|
2594
|
+
id: 'baseline'
|
|
2595
|
+
}
|
|
2596
|
+
}
|
|
2597
|
+
})));
|
|
2598
|
+
}
|
|
2599
|
+
|
|
2600
|
+
return /*#__PURE__*/React.createElement(Component, Object.assign({}, baseline, {
|
|
2601
|
+
ninetailed: {
|
|
2602
|
+
isPersonalized: false,
|
|
2603
|
+
audience: {
|
|
2604
|
+
id: 'baseline'
|
|
2605
|
+
}
|
|
2606
|
+
}
|
|
2607
|
+
}));
|
|
2608
|
+
};
|
|
2566
2609
|
const Experience = _a => {
|
|
2567
2610
|
var {
|
|
2568
2611
|
experiences,
|
|
2569
2612
|
component: Component,
|
|
2570
|
-
loadingComponent: LoadingComponent
|
|
2613
|
+
loadingComponent: LoadingComponent = DefaultExperienceLoadingComponent
|
|
2571
2614
|
} = _a,
|
|
2572
2615
|
baseline = __rest(_a, ["experiences", "component", "loadingComponent"]);
|
|
2573
2616
|
|
|
@@ -2600,26 +2643,10 @@ const Experience = _a => {
|
|
|
2600
2643
|
}
|
|
2601
2644
|
|
|
2602
2645
|
if (status === 'loading') {
|
|
2603
|
-
|
|
2604
|
-
|
|
2605
|
-
|
|
2606
|
-
|
|
2607
|
-
}));
|
|
2608
|
-
}
|
|
2609
|
-
|
|
2610
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
2611
|
-
key: "hide",
|
|
2612
|
-
style: {
|
|
2613
|
-
opacity: 0
|
|
2614
|
-
}
|
|
2615
|
-
}, /*#__PURE__*/React.createElement(Component, Object.assign({}, baseline, {
|
|
2616
|
-
ninetailed: {
|
|
2617
|
-
isPersonalized: false,
|
|
2618
|
-
audience: {
|
|
2619
|
-
id: 'baseline'
|
|
2620
|
-
}
|
|
2621
|
-
}
|
|
2622
|
-
})));
|
|
2646
|
+
return /*#__PURE__*/React.createElement(LoadingComponent, Object.assign({}, baseline, {
|
|
2647
|
+
experiences: experiences,
|
|
2648
|
+
component: Component
|
|
2649
|
+
}));
|
|
2623
2650
|
}
|
|
2624
2651
|
|
|
2625
2652
|
if (!experience) {
|
|
@@ -2724,4 +2751,4 @@ const ESRLoadingComponent = _a => {
|
|
|
2724
2751
|
return /*#__PURE__*/React.createElement(Component, Object.assign({}, variant));
|
|
2725
2752
|
};
|
|
2726
2753
|
|
|
2727
|
-
export { ESRLoadingComponent, ESRProvider, Experience, MergeTag, NinetailedProvider, Personalize, TrackHasSeenComponent, useNinetailed, usePersonalize, useProfile };
|
|
2754
|
+
export { DefaultExperienceLoadingComponent, ESRLoadingComponent, ESRProvider, Experience, MergeTag, NinetailedProvider, Personalize, TrackHasSeenComponent, useNinetailed, usePersonalize, useProfile };
|
package/index.umd.js
CHANGED
|
@@ -2110,23 +2110,69 @@
|
|
|
2110
2110
|
}, [experiences]);
|
|
2111
2111
|
};
|
|
2112
2112
|
|
|
2113
|
+
var DefaultExperienceLoadingComponent = function DefaultExperienceLoadingComponent(_a) {
|
|
2114
|
+
var Component = _a.component;
|
|
2115
|
+
_a.experiences;
|
|
2116
|
+
var _b = _a.unhideAfterMs,
|
|
2117
|
+
unhideAfterMs = _b === void 0 ? 5000 : _b,
|
|
2118
|
+
baseline = __rest(_a, ["component", "experiences", "unhideAfterMs"]);
|
|
2119
|
+
|
|
2120
|
+
var _c = React.useState(true),
|
|
2121
|
+
hidden = _c[0],
|
|
2122
|
+
setHidden = _c[1];
|
|
2123
|
+
|
|
2124
|
+
React.useEffect(function () {
|
|
2125
|
+
var timer = setTimeout(function () {
|
|
2126
|
+
setHidden(false);
|
|
2127
|
+
}, unhideAfterMs);
|
|
2128
|
+
return function () {
|
|
2129
|
+
clearTimeout(timer);
|
|
2130
|
+
};
|
|
2131
|
+
}, []);
|
|
2132
|
+
|
|
2133
|
+
if (hidden) {
|
|
2134
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2135
|
+
key: "hide",
|
|
2136
|
+
style: {
|
|
2137
|
+
opacity: 0
|
|
2138
|
+
}
|
|
2139
|
+
}, /*#__PURE__*/React__default["default"].createElement(Component, __assign({}, baseline, {
|
|
2140
|
+
ninetailed: {
|
|
2141
|
+
isPersonalized: false,
|
|
2142
|
+
audience: {
|
|
2143
|
+
id: 'baseline'
|
|
2144
|
+
}
|
|
2145
|
+
}
|
|
2146
|
+
})));
|
|
2147
|
+
}
|
|
2148
|
+
|
|
2149
|
+
return /*#__PURE__*/React__default["default"].createElement(Component, __assign({}, baseline, {
|
|
2150
|
+
ninetailed: {
|
|
2151
|
+
isPersonalized: false,
|
|
2152
|
+
audience: {
|
|
2153
|
+
id: 'baseline'
|
|
2154
|
+
}
|
|
2155
|
+
}
|
|
2156
|
+
}));
|
|
2157
|
+
};
|
|
2113
2158
|
var Experience = function Experience(_a) {
|
|
2114
2159
|
var experiences = _a.experiences,
|
|
2115
2160
|
Component = _a.component,
|
|
2116
|
-
|
|
2161
|
+
_b = _a.loadingComponent,
|
|
2162
|
+
LoadingComponent = _b === void 0 ? DefaultExperienceLoadingComponent : _b,
|
|
2117
2163
|
baseline = __rest(_a, ["experiences", "component", "loadingComponent"]);
|
|
2118
2164
|
|
|
2119
|
-
var
|
|
2165
|
+
var _c = useExperience({
|
|
2120
2166
|
baseline: baseline,
|
|
2121
2167
|
experiences: experiences
|
|
2122
2168
|
}),
|
|
2123
|
-
status =
|
|
2124
|
-
hasVariants =
|
|
2125
|
-
experience =
|
|
2126
|
-
variant =
|
|
2127
|
-
audience =
|
|
2128
|
-
isPersonalized =
|
|
2129
|
-
profile =
|
|
2169
|
+
status = _c.status,
|
|
2170
|
+
hasVariants = _c.hasVariants,
|
|
2171
|
+
experience = _c.experience,
|
|
2172
|
+
variant = _c.variant,
|
|
2173
|
+
audience = _c.audience,
|
|
2174
|
+
isPersonalized = _c.isPersonalized,
|
|
2175
|
+
profile = _c.profile;
|
|
2130
2176
|
|
|
2131
2177
|
var joinExperiment = useJoinExperiment({
|
|
2132
2178
|
experiences: experiences
|
|
@@ -2145,26 +2191,10 @@
|
|
|
2145
2191
|
}
|
|
2146
2192
|
|
|
2147
2193
|
if (status === 'loading') {
|
|
2148
|
-
|
|
2149
|
-
|
|
2150
|
-
|
|
2151
|
-
|
|
2152
|
-
}));
|
|
2153
|
-
}
|
|
2154
|
-
|
|
2155
|
-
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2156
|
-
key: "hide",
|
|
2157
|
-
style: {
|
|
2158
|
-
opacity: 0
|
|
2159
|
-
}
|
|
2160
|
-
}, /*#__PURE__*/React__default["default"].createElement(Component, __assign({}, baseline, {
|
|
2161
|
-
ninetailed: {
|
|
2162
|
-
isPersonalized: false,
|
|
2163
|
-
audience: {
|
|
2164
|
-
id: 'baseline'
|
|
2165
|
-
}
|
|
2166
|
-
}
|
|
2167
|
-
})));
|
|
2194
|
+
return /*#__PURE__*/React__default["default"].createElement(LoadingComponent, __assign({}, baseline, {
|
|
2195
|
+
experiences: experiences,
|
|
2196
|
+
component: Component
|
|
2197
|
+
}));
|
|
2168
2198
|
}
|
|
2169
2199
|
|
|
2170
2200
|
if (!experience) {
|
|
@@ -2268,6 +2298,7 @@
|
|
|
2268
2298
|
return /*#__PURE__*/React__default["default"].createElement(Component, __assign({}, variant));
|
|
2269
2299
|
};
|
|
2270
2300
|
|
|
2301
|
+
exports.DefaultExperienceLoadingComponent = DefaultExperienceLoadingComponent;
|
|
2271
2302
|
exports.ESRLoadingComponent = ESRLoadingComponent;
|
|
2272
2303
|
exports.ESRProvider = ESRProvider;
|
|
2273
2304
|
exports.Experience = Experience;
|
|
@@ -18,6 +18,11 @@ export declare type ExperienceProps<P extends Baseline> = ExperienceBaseProps<P>
|
|
|
18
18
|
component: ExperienceComponent<P> | React.ComponentType<P>;
|
|
19
19
|
loadingComponent?: ExperienceLoadingComponent<P>;
|
|
20
20
|
};
|
|
21
|
+
declare type DefaultExperienceLoadingComponentProps = ExperienceBaseProps & {
|
|
22
|
+
unhideAfterMs?: number;
|
|
23
|
+
};
|
|
24
|
+
export declare const DefaultExperienceLoadingComponent: React.FC<DefaultExperienceLoadingComponentProps>;
|
|
21
25
|
export declare const Experience: <P extends {
|
|
22
26
|
id: string;
|
|
23
27
|
}>({ experiences, component: Component, loadingComponent: LoadingComponent, ...baseline }: ExperienceProps<P>) => JSX.Element;
|
|
28
|
+
export {};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { Experience } from './Experience';
|
|
2
|
-
export type { ExperienceProps, ExperienceBaseProps, ExperienceComponent, ExperienceLoadingComponent
|
|
1
|
+
export { Experience, DefaultExperienceLoadingComponent } from './Experience';
|
|
2
|
+
export type { ExperienceProps, ExperienceBaseProps, ExperienceComponent, ExperienceLoadingComponent } from './Experience';
|
|
3
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, ESRProvider, ESRLoadingComponent } from './Experience';
|
|
12
|
+
export { Experience, ESRProvider, ESRLoadingComponent, DefaultExperienceLoadingComponent } from './Experience';
|
|
13
13
|
export type { ExperienceProps, ExperienceBaseProps, ExperienceComponent, ExperienceLoadingComponent, } from './Experience';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ninetailed/experience.js-react",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.2",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"react": ">=16.8.0"
|
|
6
6
|
},
|
|
@@ -8,9 +8,9 @@
|
|
|
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.
|
|
11
|
+
"@ninetailed/experience.js": "2.0.2",
|
|
12
12
|
"analytics": "^0.8.0",
|
|
13
|
-
"@ninetailed/experience.js-shared": "2.0.
|
|
13
|
+
"@ninetailed/experience.js-shared": "2.0.2",
|
|
14
14
|
"uuid": "^8.3.2",
|
|
15
15
|
"ts-toolbelt": "^9.6.0",
|
|
16
16
|
"locale-enum": "^1.1.1",
|